use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Memory {
pub id: i64,
pub datetime: DateTime<Utc>,
pub text: String,
pub source: Option<String>,
}
#[derive(Debug, Serialize)]
pub struct AddMemoryResult {
pub memory: Memory,
}
#[derive(Debug, Serialize)]
pub struct AmendResult {
pub memory: Memory,
}
#[derive(Debug, Serialize)]
pub struct Stats {
pub memory_count: i64,
pub min_memory_id: Option<i64>,
pub max_memory_id: Option<i64>,
pub relationship_count: i64,
pub relationship_event_count: i64,
pub unique_sources: Vec<String>,
pub graph: GraphStats,
}
#[derive(Debug, Serialize)]
pub struct GraphStats {
pub stray_count: i64,
pub island_count: i64,
pub largest_island_size: i64,
pub leaf_count: i64,
pub max_degree: i64,
pub avg_degree: f64,
}