init
This commit is contained in:
parent
0d3df6bb64
commit
dcf546fa9c
18 changed files with 3463 additions and 1 deletions
25
src/route/track.rs
Normal file
25
src/route/track.rs
Normal 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()
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue