use chrono::prelude::*; use serde::{Deserialize, Serialize}; #[allow(non_snake_case)] #[derive(Debug, Deserialize, sqlx::FromRow, Serialize, Clone)] pub struct User { pub id: uuid::Uuid, pub name: String, pub email: String, pub password: String, #[serde(rename = "createdAt")] pub created_at: Option>, #[serde(rename = "updatedAt")] pub updated_at: Option>, } impl User { pub fn into_query_response(self) -> axum::Json { axum::Json(serde_json::json!({ "status": "success", "data": serde_json::json!({ "user": self }) })) } } #[derive(Debug, Serialize, Deserialize)] pub struct TokenClaims { pub sub: String, pub iat: usize, pub exp: usize, } #[derive(Debug, Deserialize)] pub struct RegisterUserSchema { pub name: String, pub email: String, pub password: String, } #[derive(Debug, Deserialize)] pub struct LoginUserSchema { pub email: String, pub password: String, }