use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};
use systemprompt_identifiers::{ContextId, UserId};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UserContext {
pub context_id: ContextId,
pub user_id: UserId,
pub name: String,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UserContextWithStats {
pub context_id: ContextId,
pub user_id: UserId,
pub name: String,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
pub task_count: i64,
pub message_count: i64,
pub last_message_at: Option<DateTime<Utc>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateContextRequest {
pub name: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateContextRequest {
pub name: String,
}