use serde::{Deserialize, Serialize}; use time::OffsetDateTime; use utoipa::ToSchema; use uuid::Uuid; #[derive(Debug, Clone, Deserialize, ToSchema)] pub struct CreateDocumentCmd { pub parent_id: Option, pub title: String, pub slug: String, #[serde(default)] pub content: String, pub icon: Option, } #[derive(Debug, Clone, Deserialize, ToSchema)] pub struct UpdateDocumentCmd { pub parent_id: Option, pub title: Option, pub slug: Option, pub content: Option, pub icon: Option, } #[derive(Debug, Clone, Serialize, ToSchema)] pub struct DocumentView { pub id: Uuid, pub project_id: Uuid, pub parent_id: Option, pub creator_id: Uuid, pub last_editor_id: Option, pub title: String, pub slug: String, pub content: String, pub icon: Option, pub created_at: OffsetDateTime, pub updated_at: Option, } #[derive(Debug, Clone, Serialize, ToSchema)] pub struct DocumentPage { pub total: u64, pub items: Vec, }