Skip to main content

systemprompt_models/api/
contexts.rs

1use chrono::{DateTime, Utc};
2use serde::{Deserialize, Serialize};
3use systemprompt_identifiers::{ContextId, UserId};
4
5#[derive(Debug, Clone, Serialize, Deserialize)]
6pub struct UserContext {
7    pub context_id: ContextId,
8    pub user_id: UserId,
9    pub name: String,
10    pub created_at: DateTime<Utc>,
11    pub updated_at: DateTime<Utc>,
12}
13
14#[derive(Debug, Clone, Serialize, Deserialize)]
15pub struct UserContextWithStats {
16    pub context_id: ContextId,
17    pub user_id: UserId,
18    pub name: String,
19    pub created_at: DateTime<Utc>,
20    pub updated_at: DateTime<Utc>,
21    pub task_count: i64,
22    pub message_count: i64,
23    pub last_message_at: Option<DateTime<Utc>>,
24}
25
26#[derive(Debug, Clone, Serialize, Deserialize)]
27pub struct CreateContextRequest {
28    pub name: Option<String>,
29}
30
31#[derive(Debug, Clone, Serialize, Deserialize)]
32pub struct UpdateContextRequest {
33    pub name: String,
34}