kirino 0.7.1

Zero-trust authentication and authorization framework with RBAC and dynamic risk assessment.
Documentation
use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};
use uuid::Uuid;

use yuuka::derive_enum;

derive_enum!(
    #[derive(PartialEq, Serialize, Deserialize)]
    #[macros_recursive(serde(rename_all = "snake_case"))]
    pub enum Identity {
        Anonymous {
            id: Uuid,
            created_at: DateTime<Utc>,
        },
        Basic {
            id: Uuid,
            created_at: DateTime<Utc>,
        },
        Temporary {
            id: Uuid,
            expires_at: DateTime<Utc>,
        },
        Service {
            id: Uuid,
            caller: Uuid,
            created_at: DateTime<Utc>,
        },
    }
);