omni_orchestrator/schemas/
auth.rs1pub use super::v1::models::user::User;
2use rocket::http::Status;
3use rocket::request::{FromRequest, Outcome, Request};
4use rocket::serde::{Deserialize, Serialize};
5use sqlx::MySqlPool;
6use std::sync::Arc;
7use jsonwebtoken::{decode, encode, DecodingKey, EncodingKey, Header, Validation, Algorithm};
8use rocket::State;
9use chrono::{DateTime, Utc, Duration};
10use serde_json::json;
11use rocket::serde::json::Json;
12use rocket::{post, get, routes};
13
14
15#[derive(Debug, Serialize, Deserialize)]
17pub struct Claims {
18 pub sub: String, pub exp: usize, pub iat: usize, pub user_data: User, }
23
24#[derive(Debug, Serialize, Deserialize)]
26pub struct LoginRequest {
27 pub email: String,
28 pub password: String,
29}
30
31#[derive(Debug)]
33pub struct AuthConfig {
34 pub jwt_secret: String,
35 pub token_expiry_hours: i64,
36}
37