permission.rs
31 lignes · 1056 octets
use chrono::{DateTime, Utc}; use sea_orm::entity::prelude::*; use serde::{Deserialize, Serialize}; use uuid::Uuid; /// SeaORM model for the `permissions` table. /// /// Represents a fine-grained permission that can be assigned to roles. #[derive(Clone, Debug, Serialize, Deserialize, DeriveEntityModel)] #[sea_orm(table_name = "permissions")] pub struct Model { /// Primary key. #[sea_orm(primary_key)] pub id: Uuid, /// Unique machine-readable permission name (e.g. `"users:write"`). #[sea_orm(unique)] pub name: String, /// Optional human-readable description of what this permission grants. #[sea_orm(nullable)] pub description: Option<String>, /// Grouping category for UI display (e.g. `"users"`, `"admin"`). pub category: String, /// Timestamp when this permission was created. pub created_at: DateTime<Utc>, } /// SeaORM relations for the Permission entity (none defined). #[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] pub enum Relation {} impl ActiveModelBehavior for ActiveModel {}
GitRust