use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};
use uuid::Uuid;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ApiKey {
pub id: Uuid,
pub user_id: Uuid,
pub org_id: Option<Uuid>,
pub key_hash: String,
pub prefix: String,
pub name: String,
pub scopes: Vec<String>,
pub expires_at: Option<DateTime<Utc>>,
pub last_used_at: Option<DateTime<Utc>>,
}
#[derive(Debug, Clone)]
pub struct CreateApiKey {
pub user_id: Uuid,
pub org_id: Option<Uuid>,
pub key_hash: String,
pub prefix: String,
pub name: String,
pub scopes: Vec<String>,
pub expires_at: Option<DateTime<Utc>>,
}