diff --git a/sdgb-api/src/title/model/mod.rs b/sdgb-api/src/title/model/mod.rs index 4e5b079..f235650 100644 --- a/sdgb-api/src/title/model/mod.rs +++ b/sdgb-api/src/title/model/mod.rs @@ -15,6 +15,7 @@ pub use get_user_data_api::{GetUserDataApi, GetUserDataApiResp}; mod get_user_rating_api; pub use get_user_rating_api::dxrating::{ + DataVersion, DxCalculatedEntries, // entries DxLevelName, // level name DxMusicRecord, diff --git a/sdgb-cli/src/commands.rs b/sdgb-cli/src/commands.rs index 896e810..edf9d4b 100644 --- a/sdgb-cli/src/commands.rs +++ b/sdgb-cli/src/commands.rs @@ -88,4 +88,6 @@ pub enum RatingFormat { /// dxrating.net format DxRatingNet, + /// dxrating.net image gen payload + DxRatingPayload, } diff --git a/sdgb-cli/src/main.rs b/sdgb-cli/src/main.rs index 302d010..7fc4faf 100644 --- a/sdgb-cli/src/main.rs +++ b/sdgb-cli/src/main.rs @@ -15,9 +15,9 @@ use sdgb_api::{ MaiVersionExt, Sdgb1_40, Sdgb1_50, methods::APIMethod, model::{ - DxCalculatedEntries, GetUserDataApi, GetUserDataApiResp, GetUserPreviewApi, - GetUserPreviewApiResp, GetUserRatingApi, GetUserRatingApiResp, Ping, PingResp, - UserLogoutApi, UserLogoutApiResp, + DataVersion, DxCalculatedEntries, DxRatingNet, GetUserDataApi, GetUserDataApiResp, + GetUserPreviewApi, GetUserPreviewApiResp, GetUserRatingApi, GetUserRatingApiResp, Ping, + PingResp, UserLogoutApi, UserLogoutApiResp, }, }, }; @@ -95,6 +95,15 @@ async fn main() -> Result<(), Box> { records.append(&mut data.b15); json_display(records)?; } + (false, RatingFormat::DxRatingPayload) => { + let data = DxCalculatedEntries::from_user_rating_lossy(&rating.user_rating); + let payload = DxRatingNet { + calculated_entries: data, + version: DataVersion::Prism, + region: "_generic", + }; + json_display(payload)?; + } } } commands::Commands::Logout { user_id, timestamp } => {