use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};
use sqlx::FromRow;
use uuid::Uuid;

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, FromRow)]
pub struct AiModelModel {
    pub id: Uuid,
    pub provider: Uuid,
    pub name: String,
    pub display_name: String,
    pub description: Option<String>,
    pub modality: String,
    pub context_window: Option<i32>,
    pub input_token_limit: Option<i32>,
    pub output_token_limit: Option<i32>,
    pub enabled: bool,
    pub public: bool,
    pub created_at: DateTime<Utc>,
    pub updated_at: DateTime<Utc>,
    pub deleted_at: Option<DateTime<Utc>>,
}
