aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-09-30 09:11:34 +0200
committermetamuffin <metamuffin@disroot.org>2023-09-30 09:11:34 +0200
commitc180123e07c31ff45194e1645a4b90c3fd039650 (patch)
treec3d99afa159a54361504dfc76835086c4197d89d
parent7af66484702fa99ed30a6b498fca0066207d4885 (diff)
downloadjellything-c180123e07c31ff45194e1645a4b90c3fd039650.tar
jellything-c180123e07c31ff45194e1645a4b90c3fd039650.tar.bz2
jellything-c180123e07c31ff45194e1645a4b90c3fd039650.tar.zst
update api
-rw-r--r--api.md14
-rw-r--r--server/src/routes/ui/node.rs10
2 files changed, 13 insertions, 11 deletions
diff --git a/api.md b/api.md
index acae575..1dcdb41 100644
--- a/api.md
+++ b/api.md
@@ -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;