diff options
-rw-r--r-- | api.md | 14 | ||||
-rw-r--r-- | server/src/routes/ui/node.rs | 10 |
2 files changed, 13 insertions, 11 deletions
@@ -26,13 +26,15 @@ seconds). The Response contains the session cookie as a string in JSON. ## GET* `/n/<id>` -Request a library node (either a directory or item). See -[`common/src/api.rs`](./common/src/api.rs) +Request a library node (either a directory or item). Returns it as `NodePublic`. -## GET* `/n/<id>/asset?<role>` +## GET* `/n/<id>/asset?<role>&<width>` -Where `role` is one of `backdrop` or `poster`. Returns assets for a node. +Where `role` is one of `backdrop` or `poster` and `width` is the width of the +resolution you want to image to be in. The actual returned resolution must not +be exactly what you requested. Returns assets for a node. -## GET* `/stream/<id>?tracks=<track-ids>&webm=<bool>` +## GET* `/stream/<id>?<format>&<abr>&<vbr>&<index>&<tracks>` -Responds with the stream directly or a redirect to the actual source. +Responds with the stream directly or a redirect to the actual source in case of +federation. diff --git a/server/src/routes/ui/node.rs b/server/src/routes/ui/node.rs index 7386f54..1a906f1 100644 --- a/server/src/routes/ui/node.rs +++ b/server/src/routes/ui/node.rs @@ -32,17 +32,17 @@ pub fn r_library_node(id: String) { } #[get("/n/<id>?<filter..>")] -pub async fn r_library_node_filter( +pub async fn r_library_node_filter<'a>( session: Session, - id: String, - db: &State<Database>, + id: &'a str, + db: &'a State<Database>, aj: AcceptJson, filter: NodeFilterSort, -) -> Result<Either<DynLayoutPage<'_>, Json<NodePublic>>, MyError> { +) -> Result<Either<DynLayoutPage<'a>, Json<NodePublic>>, MyError> { drop(session); let node = db .node - .get(&id) + .get(&id.to_string()) .context("retrieving library node")? .ok_or(anyhow!("node does not exist"))? .public; |