mod error; pub mod models; mod routes; use async_trait::async_trait; use axum::extract::{FromRequest, RequestParts}; pub use routes::routes; use serde::de::DeserializeOwned; use crate::error::APIError; pub struct Query(pub T); #[async_trait] impl FromRequest for Query where T: DeserializeOwned, B: Send, { type Rejection = APIError; async fn from_request(req: &mut RequestParts) -> Result { let query = axum::extract::Query::::from_request(req).await?; Ok(Self(query.0)) } }