aboutsummaryrefslogtreecommitdiff
path: root/server/src/routes/api/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/routes/api/mod.rs')
-rw-r--r--server/src/routes/api/mod.rs73
1 files changed, 3 insertions, 70 deletions
diff --git a/server/src/routes/api/mod.rs b/server/src/routes/api/mod.rs
index af795f1..d49ecec 100644
--- a/server/src/routes/api/mod.rs
+++ b/server/src/routes/api/mod.rs
@@ -5,31 +5,10 @@
*/
pub mod error;
-use std::path::PathBuf;
-
-use super::ui::{
- account::{login_logic, LoginForm},
- node::AssetRole,
- CacheControlFile,
-};
-use crate::{
- database::Database,
- library::{Library, Node},
- routes::{api::error::ApiResult, ui::account::session::Session},
-};
-use anyhow::Context;
-use jellycommon::api::ApiNode;
-use log::info;
-use rocket::{
- get,
- http::{ContentType, CookieJar},
- post,
- response::Redirect,
- serde::json::Json,
- State,
-};
+use super::ui::account::{login_logic, LoginForm};
+use crate::{database::Database, routes::api::error::ApiResult};
+use rocket::{get, http::CookieJar, post, response::Redirect, serde::json::Json, State};
use serde_json::{json, Value};
-use tokio::fs::File;
#[get("/api")]
pub fn r_api_root() -> Redirect {
@@ -50,49 +29,3 @@ pub fn r_api_account_login(
login_logic(jar, database, &data.username, &data.password)?;
Ok(json!({ "ok": true }))
}
-
-#[get("/api/assets/node/<path..>?<role>")]
-pub async fn r_api_assets_node(
- _sess: Session,
- path: PathBuf,
- role: AssetRole,
- library: &State<Library>,
-) -> ApiResult<(ContentType, CacheControlFile)> {
- let node = library
- .nested_path(&path)
- .context("retrieving library node")?;
- let path = node.get_asset(library, role);
- info!("loading asset from {path:?}");
- let ext = path.extension().unwrap().to_str().unwrap();
- Ok((
- ContentType::from_extension(ext).unwrap(),
- CacheControlFile::new(File::open(path).await?).await,
- ))
-}
-
-#[get("/api/node/<path..>")]
-pub fn r_api_node(
- _sess: Session,
- path: PathBuf,
- library: &State<Library>,
-) -> ApiResult<Json<ApiNode>> {
- let node = library
- .nested_path(&path)
- .context("retrieving library node")?;
-
- Ok(Json(match node.as_ref() {
- Node::Directory(d) => ApiNode::Directory {
- identifier: d.identifier.clone(),
- info: d.info.clone(),
- children: d
- .children
- .iter()
- .map(|c| c.identifier().to_string())
- .collect::<Vec<_>>(),
- },
- Node::Item(i) => ApiNode::Item {
- identifier: i.identifier.clone(),
- info: i.info.clone(),
- },
- }))
-}