use serde::{Deserialize, Serialize};
use salvo::oapi::ToSchema;
#[derive(Debug, Default, Deserialize, ToSchema)]
pub struct PageQuery {
pub page: Option<u64>,
pub size: Option<u64>,
pub keyword: Option<String>,
}
#[derive(Debug, Serialize, Deserialize, Clone, ToSchema)]
pub struct PageResult<T: Serialize> {
pub total: u64,
pub page: u64,
pub size: u64,
pub list: Vec<T>,
}
#[derive(Debug, Deserialize, ToSchema)]
pub struct LoginRequest {
pub username: String,
pub password: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
pub struct LoginResponse {
pub access_token: String,
pub token_type: String,
pub expires_in: usize,
pub username: String,
pub display_name: String,
}
#[derive(Debug, Deserialize, ToSchema)]
pub struct ChangePasswordRequest {
pub old_password: String,
pub new_password: String,
}