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