This commit is contained in:
JMARyA 2024-07-24 11:07:24 +02:00
parent 0d3df6bb64
commit dcf546fa9c
Signed by: jmarya
GPG key ID: 901B2ADDF27C2263
18 changed files with 3463 additions and 1 deletions

25
src/route/track.rs Normal file
View file

@ -0,0 +1,25 @@
use rocket::*;
use fs::NamedFile;
use mongodb::bson::doc;
use super::FallibleApiResponse;
use super::api_error;
use crate::library::Libary;
#[get("/track/<track_id>")]
pub async fn track_route(track_id: &str, lib: &State<Libary>) -> FallibleApiResponse {
Ok(serde_json::to_value(
&lib.get_track_by_id(track_id)
.await
.ok_or_else(|| api_error("No track with that ID found"))?,
)
.unwrap())
}
#[get("/track/<track_id>/audio")]
pub async fn track_audio_route(track_id: &str, lib: &State<Libary>) -> Option<NamedFile> {
let track = lib.get_track_by_id(track_id).await?;
NamedFile::open(std::path::Path::new(&track.path))
.await
.ok()
}