From 6bea3bf2ef31f978b98848a5f2a045dcab0cc2f0 Mon Sep 17 00:00:00 2001 From: Tyler Murphy Date: Thu, 26 Jan 2023 21:29:06 -0500 Subject: input length and range checking --- src/api/users.rs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src/api/users.rs') diff --git a/src/api/users.rs b/src/api/users.rs index 283ec96..45ed195 100644 --- a/src/api/users.rs +++ b/src/api/users.rs @@ -1,12 +1,18 @@ use axum::{Router, response::Response, routing::post}; use serde::Deserialize; -use crate::types::{extract::{AuthorizedUser, Json}, response::ResponseCode, user::User}; +use crate::types::{extract::{AuthorizedUser, Json, Check, CheckResult}, response::ResponseCode, user::User}; #[derive(Deserialize)] struct UserLoadRequest { ids: Vec } +impl Check for UserLoadRequest { + fn check(&self) -> CheckResult { + Ok(()) + } +} + async fn load_batch(AuthorizedUser(_user): AuthorizedUser, Json(body): Json) -> Response { let users = User::from_user_ids(body.ids); @@ -22,6 +28,12 @@ struct UserPageReqiest { page: u64 } +impl Check for UserPageReqiest { + fn check(&self) -> CheckResult { + Ok(()) + } +} + async fn load_page(AuthorizedUser(_user): AuthorizedUser, Json(body): Json) -> Response { let Ok(users) = User::from_user_page(body.page) else { -- cgit v1.2.3-freya