Files
imphnen-backend-service/imphnen-entities/src/common_dto.rs
T

70 lines
1.5 KiB
Rust
Raw Normal View History

2025-02-07 22:26:32 +07:00
use serde::{Deserialize, Serialize};
2025-03-21 17:00:19 +07:00
use surrealdb::{
engine::{local::Db, remote::ws::Client},
Surreal,
};
2025-02-07 22:26:32 +07:00
use utoipa::{IntoParams, ToSchema};
#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
pub struct MessageResponseDto {
2025-02-16 01:09:55 +07:00
pub message: String,
pub version: String,
2025-02-07 22:26:32 +07:00
}
#[derive(Debug, Clone, Serialize, Deserialize, ToSchema, IntoParams)]
pub struct MetaRequestDto {
2025-02-16 01:09:55 +07:00
pub page: Option<u64>,
pub per_page: Option<u64>,
pub search: Option<String>,
pub sort_by: Option<String>,
pub order: Option<String>,
pub filter: Option<String>,
pub filter_by: Option<String>,
2025-02-07 22:26:32 +07:00
}
2025-03-23 20:42:38 +07:00
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,
}
}
}
2025-02-07 22:26:32 +07:00
#[derive(Debug, Clone, Serialize, Deserialize, ToSchema, IntoParams)]
pub struct MetaResponseDto {
2025-02-16 01:09:55 +07:00
pub page: Option<u64>,
pub per_page: Option<u64>,
pub total: Option<u64>,
2025-02-07 22:26:32 +07:00
}
#[derive(Clone, Debug, Serialize, Deserialize, ToSchema)]
pub struct ResponseSuccessDto<T: Serialize> {
2025-02-16 01:09:55 +07:00
pub data: T,
2025-02-07 22:26:32 +07:00
}
#[derive(Clone, Debug, Serialize, Deserialize, ToSchema)]
pub struct ResponseListSuccessDto<T: Serialize> {
2025-02-16 01:09:55 +07:00
pub data: T,
pub meta: Option<MetaResponseDto>,
2025-02-07 22:26:32 +07:00
}
2025-02-25 02:00:19 +07:00
2025-03-21 17:00:19 +07:00
pub type SurrealWsClient = Surreal<Client>;
pub type SurrealMemClient = Surreal<Db>;
2025-02-25 02:00:19 +07:00
#[derive(Clone)]
pub struct AppState {
2025-03-21 17:00:19 +07:00
pub surrealdb_ws: SurrealWsClient,
pub surrealdb_mem: SurrealMemClient,
2025-02-25 02:00:19 +07:00
}
2025-03-23 07:56:43 +07:00
#[derive(Debug, serde::Deserialize)]
pub struct CountResult {
pub count: u64,
}