use serde::{Deserialize, Serialize}; use surrealdb::{ engine::local::Db, engine::any::Any, Surreal, }; use utoipa::{IntoParams, ToSchema}; #[derive(Debug, Clone, Serialize, Deserialize, ToSchema)] pub struct MessageResponseDto { pub message: String, pub version: String, } #[derive(Debug, Clone, Serialize, Deserialize, ToSchema, IntoParams)] pub struct MetaRequestDto { pub page: Option, pub per_page: Option, pub search: Option, pub sort_by: Option, pub order: Option, pub filter: Option, pub filter_by: Option, } impl Default for MetaRequestDto { fn default() -> Self { MetaRequestDto { page: Some(1), per_page: Some(10), search: None, sort_by: None, order: None, filter: None, filter_by: None, } } } #[derive(Debug, Clone, Serialize, Deserialize, ToSchema, IntoParams)] pub struct MetaResponseDto { pub page: Option, pub per_page: Option, pub total: Option, } #[derive(Clone, Debug, Serialize, Deserialize, ToSchema)] pub struct ResponseSuccessDto { pub data: T, } #[derive(Clone, Debug, Serialize, Deserialize, ToSchema)] pub struct ResponseListSuccessDto { pub data: T, pub meta: Option, } pub type SurrealWsClient = Surreal; pub type SurrealMemClient = Surreal; #[derive(Clone)] pub struct AppState { pub surrealdb_ws: SurrealWsClient, pub surrealdb_mem: SurrealMemClient, } #[derive(Debug, serde::Deserialize)] pub struct CountResult { pub count: u64, }