diff --git a/http_service/ceobe_operation/release_version_service/src/handlers/cdn.rs b/http_service/ceobe_operation/release_version_service/src/handlers/cdn.rs index 109d539e..6d64ba08 100644 --- a/http_service/ceobe_operation/release_version_service/src/handlers/cdn.rs +++ b/http_service/ceobe_operation/release_version_service/src/handlers/cdn.rs @@ -2,10 +2,7 @@ use ceobe_operation_logic::{ release_version::ReleaseVersionLogic, CeobeOperationLogic, }; use page_next_id::response::ListWithNextId; -use persistence::{ - ceobe_operate::models::version::models::ReleaseVersion, - mongodb::mongodb::bson::oid::ObjectId, -}; +use persistence::ceobe_operate::models::version::models::ReleaseVersion; use serve_utils::{ axum::extract::Query, axum_resp_result::{resp_result, MapReject}, @@ -38,7 +35,7 @@ impl crate::ReleaseVersionController { platform, first_id, }): MapRejecter>, - ) -> Result> { + ) -> Result> { let ret = logic.all_by_page_id(first_id, platform, false).await?; Ok(ret) diff --git a/http_service/ceobe_operation/release_version_service/src/view.rs b/http_service/ceobe_operation/release_version_service/src/view.rs index bbb53782..2ecd48e2 100644 --- a/http_service/ceobe_operation/release_version_service/src/view.rs +++ b/http_service/ceobe_operation/release_version_service/src/view.rs @@ -13,6 +13,7 @@ use serde::Deserialize; use serve_utils::{OptionField, OptionViewField, ValueField}; #[derive(Deserialize, Clone, Debug)] +#[serde(deny_unknown_fields)] pub struct QueryReleaseVersion< Version: OptionViewField = OptionField, > { @@ -66,6 +67,7 @@ impl> Display for QueryVersionFilter { } #[derive(Debug, Deserialize)] +#[serde(deny_unknown_fields)] pub struct QueryVersionNextIdFilter { pub platform: ReleasePlatform, #[serde(default)] diff --git a/libs/page_next_id/src/response/mod.rs b/libs/page_next_id/src/response/mod.rs index fc01f304..18abf1fe 100644 --- a/libs/page_next_id/src/response/mod.rs +++ b/libs/page_next_id/src/response/mod.rs @@ -1,5 +1,4 @@ use _private::NextIdTrait; -use mongodb::bson::oid::ObjectId; use serde::Serialize; #[derive(Debug, Serialize)] @@ -43,5 +42,4 @@ where } // 支持成为NextId的类型 -impl NextIdTrait for ObjectId {} impl NextIdTrait for String {} diff --git a/logic/ceobe_operation_logic/src/release_version/implement.rs b/logic/ceobe_operation_logic/src/release_version/implement.rs index 92a94e4e..5cbe7f1c 100644 --- a/logic/ceobe_operation_logic/src/release_version/implement.rs +++ b/logic/ceobe_operation_logic/src/release_version/implement.rs @@ -153,7 +153,7 @@ impl ReleaseVersionLogic { pub async fn all_by_page_id( &self, first_id: Option, platform: ReleasePlatform, deleted: bool, - ) -> LogicResult> { + ) -> LogicResult> { let list = task::spawn({ let mongodb = self.mongodb.clone(); async move { @@ -182,6 +182,6 @@ impl ReleaseVersionLogic { let list = list.await??; let next_id = next_id.await??; - Ok(list.with_page_next_id_info(next_id)) + Ok(list.with_page_next_id_info(next_id.map(|id| id.to_string()))) } }