diff --git a/sdgb-api/src/lib.rs b/sdgb-api/src/lib.rs index 36d0422..fd471aa 100644 --- a/sdgb-api/src/lib.rs +++ b/sdgb-api/src/lib.rs @@ -7,6 +7,7 @@ pub mod helper; mod error; pub use error::ApiError; +#[cfg(feature = "bincode")] pub use bincode; #[cfg(all(feature = "compio", feature = "tokio"))] diff --git a/sdgb-api/src/title/model/get_user_music_api/mod.rs b/sdgb-api/src/title/model/get_user_music_api/mod.rs index deb41ea..0d0df8f 100644 --- a/sdgb-api/src/title/model/get_user_music_api/mod.rs +++ b/sdgb-api/src/title/model/get_user_music_api/mod.rs @@ -1,7 +1,5 @@ use std::fmt::Display; -use bincode::Decode; -use bincode::Encode; use music_db::query_music; use music_db::query_music_level; use serde::Deserialize; @@ -17,7 +15,8 @@ pub struct GetUserMusicApi { pub max_count: u32, } -#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Encode, Decode)] +#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] +#[cfg_attr(feature = "bincode", derive(bincode::Encode, bincode::Decode))] #[serde(rename_all = "camelCase")] pub struct GetUserMusicApiResp { pub user_id: u32, @@ -26,14 +25,16 @@ pub struct GetUserMusicApiResp { pub user_music_list: Vec, } -#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Encode, Decode)] +#[cfg_attr(feature = "bincode", derive(bincode::Encode, bincode::Decode))] +#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct UserMusic { pub user_music_detail_list: Vec, pub length: u32, } -#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Encode, Decode)] +#[cfg_attr(feature = "bincode", derive(bincode::Encode, bincode::Decode))] +#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct UserMusicDetail { pub music_id: u32, diff --git a/sdgb-api/src/title/model/get_user_preview_api/mod.rs b/sdgb-api/src/title/model/get_user_preview_api/mod.rs index 7cc9448..c8d0051 100644 --- a/sdgb-api/src/title/model/get_user_preview_api/mod.rs +++ b/sdgb-api/src/title/model/get_user_preview_api/mod.rs @@ -1,7 +1,5 @@ use std::fmt::Display; -use bincode::{Decode, Encode}; - use serde::{Deserialize, Serialize}; #[derive(Serialize)] @@ -16,7 +14,8 @@ impl From for GetUserPreviewApi { } } -#[derive(Debug, Clone, Serialize, Deserialize, Encode, Decode)] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[cfg_attr(feature = "bincode", derive(bincode::Encode, bincode::Decode))] #[cfg_attr(feature = "parquet", derive(parquet_derive::ParquetRecordWriter))] #[serde(rename_all = "camelCase")] pub struct GetUserPreviewApiResp { diff --git a/sdgb-api/src/title/model/get_user_rating_api/mod.rs b/sdgb-api/src/title/model/get_user_rating_api/mod.rs index b15a1cb..f70e808 100644 --- a/sdgb-api/src/title/model/get_user_rating_api/mod.rs +++ b/sdgb-api/src/title/model/get_user_rating_api/mod.rs @@ -1,7 +1,5 @@ use std::fmt::Display; -use bincode::Decode; -use bincode::Encode; use music_db::query_music; use music_db::query_music_level; use serde::Deserialize; @@ -21,14 +19,16 @@ impl From for GetUserRatingApi { } } -#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Encode, Decode)] +#[cfg_attr(feature = "bincode", derive(bincode::Encode, bincode::Decode))] +#[derive(Debug, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct GetUserRatingApiResp { pub user_id: u32, pub user_rating: UserRating, } -#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Encode, Decode)] +#[cfg_attr(feature = "bincode", derive(bincode::Encode, bincode::Decode))] +#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct UserRating { /// total rating, now it's 0 @@ -44,7 +44,8 @@ pub struct UserRating { pub udemae: Udemae, } -#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Encode, Decode)] +#[cfg_attr(feature = "bincode", derive(bincode::Encode, bincode::Decode))] +#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct MusicRating { /// Maimai music id @@ -65,7 +66,8 @@ pub struct MusicRating { pub achievement: i32, } -#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Encode, Decode)] +#[cfg_attr(feature = "bincode", derive(bincode::Encode, bincode::Decode))] +#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct Udemae { pub max_lose_num: i64,