Skip to content
Clone
ffdfaba
44 lines 1.1 KB Rust
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<Uuid>,
pub title: String,
pub slug: String,
#[serde(default)]
pub content: String,
pub icon: Option<String>,
}
#[derive(Debug, Clone, Deserialize, ToSchema)]
pub struct UpdateDocumentCmd {
pub parent_id: Option<Uuid>,
pub title: Option<String>,
pub slug: Option<String>,
pub content: Option<String>,
pub icon: Option<String>,
}
#[derive(Debug, Clone, Serialize, ToSchema)]
pub struct DocumentView {
pub id: Uuid,
pub project_id: Uuid,
pub parent_id: Option<Uuid>,
pub creator_id: Uuid,
pub last_editor_id: Option<Uuid>,
pub title: String,
pub slug: String,
pub content: String,
pub icon: Option<String>,
pub created_at: OffsetDateTime,
pub updated_at: Option<OffsetDateTime>,
}
#[derive(Debug, Clone, Serialize, ToSchema)]
pub struct DocumentPage {
pub total: u64,
pub items: Vec<DocumentView>,
}