Skip to main content

systemprompt_models/users/
summary.rs

1//! Compact user summary rows for listings.
2//!
3//! Copyright (c) systemprompt.io — Business Source License 1.1.
4//! See <https://systemprompt.io> for licensing details.
5
6use chrono::{DateTime, Utc};
7use schemars::JsonSchema;
8use serde::{Deserialize, Serialize};
9use systemprompt_identifiers::{SessionId, UserId};
10
11#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
12pub struct UserSummary {
13    pub id: UserId,
14    pub name: String,
15    pub email: String,
16    pub status: Option<String>,
17    pub roles: Vec<String>,
18    pub created_at: Option<DateTime<Utc>>,
19}
20
21#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
22pub struct SessionSummary {
23    pub session_id: SessionId,
24    pub ip_address: Option<String>,
25    pub user_agent: Option<String>,
26    pub device_type: Option<String>,
27    pub started_at: Option<DateTime<Utc>>,
28    pub last_activity_at: Option<DateTime<Utc>>,
29    pub is_active: bool,
30}