use chrono::{DateTime, Utc}; use sea_orm::entity::prelude::*; use serde::{Deserialize, Serialize}; use uuid::Uuid; #[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize, DeriveEntityModel)] #[sea_orm(table_name = "app_otp_cache")] pub struct Model { #[sea_orm(primary_key, default = "gen_random_uuid()", auto_increment = false)] pub id: Uuid, #[sea_orm(unique, not_null)] pub email: String, #[sea_orm(not_null)] pub otp_hash: String, #[sea_orm(not_null)] pub expires_at: DateTime, #[sea_orm(not_null, default = "now()")] pub created_at: DateTime, #[sea_orm(not_null, default = "now()")] pub updated_at: DateTime, } #[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] pub enum Relation {} impl ActiveModelBehavior for ActiveModel {}