diff --git a/webserver/src/dto/governance.rs b/webserver/src/dto/governance.rs index 46578430..02ff84a6 100644 --- a/webserver/src/dto/governance.rs +++ b/webserver/src/dto/governance.rs @@ -1,8 +1,6 @@ use serde::{Deserialize, Serialize}; use validator::Validate; -use super::utils::Pagination; - #[derive(Clone, Debug, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub enum ProposalStatus { @@ -23,8 +21,8 @@ pub enum ProposalKind { #[derive(Clone, Serialize, Deserialize, Validate)] pub struct ProposalQueryParams { - #[serde(flatten)] - pub pagination: Option, + #[validate(range(min = 1, max = 10000))] + pub page: Option, pub status: Option, pub kind: Option, pub pattern: Option, @@ -32,6 +30,6 @@ pub struct ProposalQueryParams { #[derive(Clone, Serialize, Deserialize, Validate)] pub struct ProposalVotesQueryparams { - #[serde(flatten)] - pub pagination: Option, + #[validate(range(min = 1, max = 10000))] + pub page: Option, } diff --git a/webserver/src/dto/mod.rs b/webserver/src/dto/mod.rs index c571acbb..d7b2ca3e 100644 --- a/webserver/src/dto/mod.rs +++ b/webserver/src/dto/mod.rs @@ -1,3 +1,2 @@ pub mod governance; pub mod pos; -pub mod utils; diff --git a/webserver/src/dto/utils.rs b/webserver/src/dto/utils.rs deleted file mode 100644 index aea26e99..00000000 --- a/webserver/src/dto/utils.rs +++ /dev/null @@ -1,8 +0,0 @@ -use serde::{Deserialize, Serialize}; -use validator::Validate; - -#[derive(Debug, Clone, Serialize, Deserialize, Validate)] -pub struct Pagination { - #[validate(range(min = 1, max = 10000))] - pub page: u64, -} diff --git a/webserver/src/handler/governance.rs b/webserver/src/handler/governance.rs index c359ac83..218b3f0e 100644 --- a/webserver/src/handler/governance.rs +++ b/webserver/src/handler/governance.rs @@ -16,7 +16,7 @@ pub async fn get_governance_proposals( Query(query): Query, State(state): State, ) -> Result>>, ApiError> { - let page = query.pagination.map(|p| p.page).unwrap_or(1); + let page = query.page.unwrap_or(1); let (proposals, total_pages, total_items) = state .gov_service .find_governance_proposals( @@ -57,7 +57,7 @@ pub async fn get_governance_proposal_votes( Query(query): Query, State(state): State, ) -> Result>>, ApiError> { - let page = query.pagination.map(|p| p.page).unwrap_or(1); + let page = query.page.unwrap_or(1); let (proposal_votes, total_pages, total_votes) = state .gov_service .find_governance_proposal_votes(proposal_id, page)