aboutsummaryrefslogtreecommitdiff
path: root/common/src/routes.rs
diff options
context:
space:
mode:
Diffstat (limited to 'common/src/routes.rs')
-rw-r--r--common/src/routes.rs63
1 files changed, 59 insertions, 4 deletions
diff --git a/common/src/routes.rs b/common/src/routes.rs
index 71ca3fa..e510e22 100644
--- a/common/src/routes.rs
+++ b/common/src/routes.rs
@@ -3,15 +3,70 @@
which is licensed under the GNU Affero General Public License (version 3); see /COPYING.
Copyright (C) 2025 metamuffin <metamuffin.org>
*/
-
-use crate::NodeID;
+use crate::{user::ApiWatchedState, NodeID, PeopleGroup};
pub fn u_home() -> String {
"/home".to_owned()
}
pub fn u_node_id(node: NodeID) -> String {
- format!("/n/{}", node)
+ format!("/n/{node}")
}
pub fn u_node_slug(node: &str) -> String {
- format!("/n/{}", node)
+ format!("/n/{node}")
+}
+pub fn u_node_slug_player(node: &str) -> String {
+ format!("/n/{node}/player")
+}
+pub fn u_node_slug_player_time(node: &str, time: f64) -> String {
+ format!("/n/{node}/player?t={time}")
+}
+pub fn u_node_slug_poster(node: &str, width: usize) -> String {
+ format!("/n/{node}/poster?width={width}")
+}
+pub fn u_node_slug_backdrop(node: &str, width: usize) -> String {
+ format!("/n/{node}/backdrop?width={width}")
+}
+pub fn u_node_slug_watched(node: &str, state: ApiWatchedState) -> String {
+ format!("/n/{node}/watched?state={state}")
+}
+pub fn u_node_slug_person_asset(
+ node: &str,
+ group: PeopleGroup,
+ index: usize,
+ width: usize,
+) -> String {
+ format!("/n/{node}/person/{index}/asset?group={group}&width={width}")
+}
+pub fn u_node_slug_thumbnail(node: &str, time: f64, width: usize) -> String {
+ format!("/n/{node}/thumbnail?t={time}&width={width}")
+}
+pub fn u_node_slug_update_rating(node: &str) -> String {
+ format!("/n/{node}/update_rating")
+}
+pub fn u_node_slug_progress(node: &str, time: f64) -> String {
+ format!("/n/{node}/progress?t={time}")
+}
+pub fn u_account_register() -> String {
+ "/account/register".to_owned()
+}
+pub fn u_account_login() -> String {
+ "/account/login".to_owned()
+}
+pub fn u_account_logout() -> String {
+ "/account/logout".to_owned()
+}
+pub fn u_admin_dashboard() -> String {
+ "/admin/dashboard".to_owned()
+}
+pub fn u_account_settings() -> String {
+ "/account/settings".to_owned()
+}
+pub fn u_stats() -> String {
+ "/stats".to_owned()
+}
+pub fn u_search() -> String {
+ "/search".to_owned()
+}
+pub fn u_items() -> String {
+ "/items".to_owned()
}