Updating name (#253)
soaricarus_api CI / Check (push) Successful in 3m21s
soaricarus_api CI / Test Suite (push) Successful in 4m25s
soaricarus_api CI / Rustfmt (push) Successful in 3m8s
soaricarus_api CI / Clippy (push) Successful in 3m56s
soaricarus_api CI / build (push) Successful in 3m3s
soaricarus_api CI / Check (push) Successful in 3m21s
soaricarus_api CI / Test Suite (push) Successful in 4m25s
soaricarus_api CI / Rustfmt (push) Successful in 3m8s
soaricarus_api CI / Clippy (push) Successful in 3m56s
soaricarus_api CI / build (push) Successful in 3m3s
Reviewed-on: #253
This commit was merged in pull request #253.
This commit is contained in:
+23
-26
@@ -20,7 +20,7 @@ pub mod response {
|
||||
#[derive(Debug, Default, serde::Deserialize, serde::Serialize, utoipa::ToSchema)]
|
||||
pub struct Response {
|
||||
pub message: String,
|
||||
pub data: Vec<icarus_models::coverart::CoverArt>,
|
||||
pub data: Vec<simodels::coverart::CoverArt>,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ pub mod response {
|
||||
#[derive(Debug, Default, serde::Deserialize, serde::Serialize, utoipa::ToSchema)]
|
||||
pub struct Response {
|
||||
pub message: String,
|
||||
pub data: Vec<icarus_models::coverart::CoverArt>,
|
||||
pub data: Vec<simodels::coverart::CoverArt>,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -68,21 +68,21 @@ pub mod endpoint {
|
||||
let song_id = payload.song_id;
|
||||
match crate::repo::song::get_song(&pool, &song_id).await {
|
||||
Ok(song) => {
|
||||
let directory = icarus_envy::environment::get_root_directory().value;
|
||||
let directory = sienvy::environment::get_root_directory().value;
|
||||
let file_type =
|
||||
icarus_meta::detection::coverart::file_type_from_data(&data).unwrap();
|
||||
simeta::detection::coverart::file_type_from_data(&data).unwrap();
|
||||
let coverart_type = if file_type.file_type
|
||||
== icarus_meta::detection::coverart::constants::JPEG_TYPE
|
||||
== simeta::detection::coverart::constants::JPEG_TYPE
|
||||
{
|
||||
icarus_models::types::CoverArtType::JpegExtension
|
||||
simodels::types::CoverArtType::JpegExtension
|
||||
} else if file_type.file_type
|
||||
== icarus_meta::detection::coverart::constants::JPG_TYPE
|
||||
== simeta::detection::coverart::constants::JPG_TYPE
|
||||
{
|
||||
icarus_models::types::CoverArtType::JpgExtension
|
||||
simodels::types::CoverArtType::JpgExtension
|
||||
} else if file_type.file_type
|
||||
== icarus_meta::detection::coverart::constants::PNG_TYPE
|
||||
== simeta::detection::coverart::constants::PNG_TYPE
|
||||
{
|
||||
icarus_models::types::CoverArtType::PngExtension
|
||||
simodels::types::CoverArtType::PngExtension
|
||||
} else {
|
||||
response.message = String::from("Invalid CoverArt type");
|
||||
return (
|
||||
@@ -91,13 +91,11 @@ pub mod endpoint {
|
||||
);
|
||||
};
|
||||
let filename =
|
||||
icarus_models::coverart::generate_filename(coverart_type, true)
|
||||
.unwrap();
|
||||
simodels::coverart::generate_filename(coverart_type, true).unwrap();
|
||||
|
||||
let mut coverart =
|
||||
icarus_models::coverart::init::init_coverart_dir_and_filename(
|
||||
&directory, &filename,
|
||||
);
|
||||
let mut coverart = simodels::coverart::init::init_coverart_dir_and_filename(
|
||||
&directory, &filename,
|
||||
);
|
||||
coverart.title = song.album.clone();
|
||||
coverart.file_type = file_type.file_type;
|
||||
coverart.data = data;
|
||||
@@ -200,23 +198,23 @@ pub mod endpoint {
|
||||
axum::extract::Path(id): axum::extract::Path<uuid::Uuid>,
|
||||
) -> (axum::http::StatusCode, axum::response::Response) {
|
||||
match repo::coverart::get_coverart(&pool, &id).await {
|
||||
Ok(coverart) => match icarus_models::coverart::io::to_data(&coverart) {
|
||||
Ok(coverart) => match simodels::coverart::io::to_data(&coverart) {
|
||||
Ok(data) => {
|
||||
let (file_type, img_type) =
|
||||
match icarus_meta::detection::coverart::file_type_from_data(&data) {
|
||||
match simeta::detection::coverart::file_type_from_data(&data) {
|
||||
Ok(file_type) => {
|
||||
if file_type.file_type
|
||||
== icarus_meta::detection::coverart::constants::JPEG_TYPE
|
||||
== simeta::detection::coverart::constants::JPEG_TYPE
|
||||
{
|
||||
(file_type, icarus_models::types::CoverArtType::JpegExtension)
|
||||
(file_type, simodels::types::CoverArtType::JpegExtension)
|
||||
} else if file_type.file_type
|
||||
== icarus_meta::detection::coverart::constants::JPG_TYPE
|
||||
== simeta::detection::coverart::constants::JPG_TYPE
|
||||
{
|
||||
(file_type, icarus_models::types::CoverArtType::JpgExtension)
|
||||
(file_type, simodels::types::CoverArtType::JpgExtension)
|
||||
} else if file_type.file_type
|
||||
== icarus_meta::detection::coverart::constants::PNG_TYPE
|
||||
== simeta::detection::coverart::constants::PNG_TYPE
|
||||
{
|
||||
(file_type, icarus_models::types::CoverArtType::PngExtension)
|
||||
(file_type, simodels::types::CoverArtType::PngExtension)
|
||||
} else {
|
||||
return (
|
||||
axum::http::StatusCode::INTERNAL_SERVER_ERROR,
|
||||
@@ -235,8 +233,7 @@ pub mod endpoint {
|
||||
let bytes = axum::body::Bytes::from(data);
|
||||
let mut response = bytes.into_response();
|
||||
let headers = response.headers_mut();
|
||||
let filename =
|
||||
icarus_models::coverart::generate_filename(img_type, true).unwrap();
|
||||
let filename = simodels::coverart::generate_filename(img_type, true).unwrap();
|
||||
headers.insert(
|
||||
axum::http::header::CONTENT_TYPE,
|
||||
file_type.mime.parse().unwrap(),
|
||||
|
||||
@@ -102,9 +102,9 @@ pub mod response {
|
||||
mod helper {
|
||||
pub fn is_coverart_file_type_valid(file_type: &String) -> bool {
|
||||
let valid_file_types = vec![
|
||||
String::from(icarus_meta::detection::coverart::constants::JPEG_TYPE),
|
||||
String::from(icarus_meta::detection::coverart::constants::JPG_TYPE),
|
||||
String::from(icarus_meta::detection::coverart::constants::PNG_TYPE),
|
||||
String::from(simeta::detection::coverart::constants::JPEG_TYPE),
|
||||
String::from(simeta::detection::coverart::constants::JPG_TYPE),
|
||||
String::from(simeta::detection::coverart::constants::PNG_TYPE),
|
||||
];
|
||||
|
||||
for valid_file_type in valid_file_types {
|
||||
@@ -150,18 +150,17 @@ pub mod endpoint {
|
||||
let content_type = field.content_type().unwrap().to_string();
|
||||
let data = field.bytes().await.unwrap();
|
||||
let raw_data = data.to_vec();
|
||||
let file_type =
|
||||
match icarus_meta::detection::coverart::file_type_from_data(&raw_data) {
|
||||
Ok(file_type) => file_type,
|
||||
Err(err) => {
|
||||
eprintln!("Error: {err:?}");
|
||||
response.message = err.to_string();
|
||||
return (
|
||||
axum::http::StatusCode::INTERNAL_SERVER_ERROR,
|
||||
axum::Json(response),
|
||||
);
|
||||
}
|
||||
};
|
||||
let file_type = match simeta::detection::coverart::file_type_from_data(&raw_data) {
|
||||
Ok(file_type) => file_type,
|
||||
Err(err) => {
|
||||
eprintln!("Error: {err:?}");
|
||||
response.message = err.to_string();
|
||||
return (
|
||||
axum::http::StatusCode::INTERNAL_SERVER_ERROR,
|
||||
axum::Json(response),
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
if !super::helper::is_coverart_file_type_valid(&file_type.file_type) {
|
||||
response.message = format!("CoverArt file type not supported: {file_type:?}");
|
||||
@@ -318,8 +317,7 @@ pub mod endpoint {
|
||||
) -> (axum::http::StatusCode, axum::response::Response) {
|
||||
match repo::coverart::get_coverart_queue_data_with_id(&pool, &id).await {
|
||||
Ok(data) => {
|
||||
let file_type =
|
||||
icarus_meta::detection::coverart::file_type_from_data(&data).unwrap();
|
||||
let file_type = simeta::detection::coverart::file_type_from_data(&data).unwrap();
|
||||
let bytes = axum::body::Bytes::from(data);
|
||||
let mut response = bytes.into_response();
|
||||
let headers = response.headers_mut();
|
||||
@@ -329,25 +327,20 @@ pub mod endpoint {
|
||||
);
|
||||
|
||||
let coverart_type = if file_type.file_type
|
||||
== icarus_meta::detection::coverart::constants::JPEG_TYPE
|
||||
== simeta::detection::coverart::constants::JPEG_TYPE
|
||||
{
|
||||
icarus_models::types::CoverArtType::JpegExtension
|
||||
} else if file_type.file_type
|
||||
== icarus_meta::detection::coverart::constants::JPG_TYPE
|
||||
{
|
||||
icarus_models::types::CoverArtType::JpgExtension
|
||||
} else if file_type.file_type
|
||||
== icarus_meta::detection::coverart::constants::PNG_TYPE
|
||||
{
|
||||
icarus_models::types::CoverArtType::PngExtension
|
||||
simodels::types::CoverArtType::JpegExtension
|
||||
} else if file_type.file_type == simeta::detection::coverart::constants::JPG_TYPE {
|
||||
simodels::types::CoverArtType::JpgExtension
|
||||
} else if file_type.file_type == simeta::detection::coverart::constants::PNG_TYPE {
|
||||
simodels::types::CoverArtType::PngExtension
|
||||
} else {
|
||||
return (
|
||||
axum::http::StatusCode::INTERNAL_SERVER_ERROR,
|
||||
axum::response::Response::default(),
|
||||
);
|
||||
};
|
||||
let filename =
|
||||
icarus_models::coverart::generate_filename(coverart_type, true).unwrap();
|
||||
let filename = simodels::coverart::generate_filename(coverart_type, true).unwrap();
|
||||
headers.insert(
|
||||
axum::http::header::CONTENT_DISPOSITION,
|
||||
format!("attachment; filename=\"{filename}\"")
|
||||
|
||||
@@ -97,9 +97,9 @@ pub mod response {
|
||||
}
|
||||
|
||||
pub async fn is_song_valid(data: &[u8]) -> Result<bool, std::io::Error> {
|
||||
match icarus_meta::detection::song::file_type_from_data(data) {
|
||||
match simeta::detection::song::file_type_from_data(data) {
|
||||
Ok(file_type) => {
|
||||
if file_type.file_type == icarus_meta::detection::song::constants::FLAC_TYPE {
|
||||
if file_type.file_type == simeta::detection::song::constants::FLAC_TYPE {
|
||||
Ok(true)
|
||||
} else {
|
||||
Ok(false)
|
||||
|
||||
+11
-13
@@ -36,8 +36,8 @@ pub mod request {
|
||||
|| !self.song_queue_id.is_nil()
|
||||
}
|
||||
|
||||
pub fn to_song(&self) -> icarus_models::song::Song {
|
||||
icarus_models::song::Song {
|
||||
pub fn to_song(&self) -> simodels::song::Song {
|
||||
simodels::song::Song {
|
||||
id: uuid::Uuid::nil(),
|
||||
title: self.title.clone(),
|
||||
artist: self.artist.clone(),
|
||||
@@ -71,7 +71,7 @@ pub mod response {
|
||||
#[derive(Debug, Default, serde::Deserialize, serde::Serialize, utoipa::ToSchema)]
|
||||
pub struct Response {
|
||||
pub message: String,
|
||||
pub data: Vec<icarus_models::song::Song>,
|
||||
pub data: Vec<simodels::song::Song>,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,15 +79,15 @@ pub mod response {
|
||||
#[derive(Debug, Default, serde::Deserialize, serde::Serialize, utoipa::ToSchema)]
|
||||
pub struct Response {
|
||||
pub message: String,
|
||||
pub data: Vec<icarus_models::song::Song>,
|
||||
pub data: Vec<simodels::song::Song>,
|
||||
}
|
||||
}
|
||||
|
||||
pub mod delete_song {
|
||||
#[derive(Debug, Default, serde::Deserialize, serde::Serialize, utoipa::ToSchema)]
|
||||
pub struct SongAndCoverArt {
|
||||
pub song: icarus_models::song::Song,
|
||||
pub coverart: icarus_models::coverart::CoverArt,
|
||||
pub song: simodels::song::Song,
|
||||
pub coverart: simodels::coverart::CoverArt,
|
||||
}
|
||||
|
||||
#[derive(Debug, Default, serde::Deserialize, serde::Serialize, utoipa::ToSchema)]
|
||||
@@ -134,12 +134,10 @@ pub mod endpoint {
|
||||
|
||||
if payload.is_valid() {
|
||||
let mut song = payload.to_song();
|
||||
song.filename = icarus_models::song::generate_filename(
|
||||
icarus_models::types::MusicType::FlacExtension,
|
||||
true,
|
||||
)
|
||||
.unwrap();
|
||||
song.directory = icarus_envy::environment::get_root_directory().value;
|
||||
song.filename =
|
||||
simodels::song::generate_filename(simodels::types::MusicType::FlacExtension, true)
|
||||
.unwrap();
|
||||
song.directory = sienvy::environment::get_root_directory().value;
|
||||
|
||||
match repo_queue::song::get_data(&pool, &payload.song_queue_id).await {
|
||||
Ok(data) => {
|
||||
@@ -340,7 +338,7 @@ pub mod endpoint {
|
||||
axum::extract::Path(id): axum::extract::Path<uuid::Uuid>,
|
||||
) -> (axum::http::StatusCode, axum::response::Response) {
|
||||
match repo::song::get_song(&pool, &id).await {
|
||||
Ok(song) => match icarus_models::song::io::to_data(&song) {
|
||||
Ok(song) => match simodels::song::io::to_data(&song) {
|
||||
Ok(data) => {
|
||||
let bytes = axum::body::Bytes::from(data);
|
||||
let mut response = bytes.into_response();
|
||||
|
||||
Reference in New Issue
Block a user