diff options
author | metamuffin <metamuffin@disroot.org> | 2023-09-30 09:11:34 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-09-30 09:11:34 +0200 |
commit | c180123e07c31ff45194e1645a4b90c3fd039650 (patch) | |
tree | c3d99afa159a54361504dfc76835086c4197d89d | |
parent | 7af66484702fa99ed30a6b498fca0066207d4885 (diff) | |
download | jellything-c180123e07c31ff45194e1645a4b90c3fd039650.tar jellything-c180123e07c31ff45194e1645a4b90c3fd039650.tar.bz2 jellything-c180123e07c31ff45194e1645a4b90c3fd039650.tar.zst |
update api
-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; |