use chrono::{DateTime, Utc}; use serde::{Deserialize, Serialize}; use uuid::Uuid; #[derive(Debug, Serialize, utoipa::ToSchema)] pub struct CollectionResponse { pub id: String, pub name: String, pub description: Option, pub kind: String, pub filter_query: Option, pub created_at: DateTime, pub updated_at: DateTime, } #[derive(Debug, Deserialize, utoipa::ToSchema)] pub struct CreateCollectionRequest { pub name: String, pub kind: String, pub description: Option, pub filter_query: Option, } #[derive(Debug, Deserialize, utoipa::ToSchema)] pub struct AddMemberRequest { pub media_id: Uuid, pub position: Option, } impl From for CollectionResponse { fn from(col: pinakes_core::model::Collection) -> Self { Self { id: col.id.to_string(), name: col.name, description: col.description, kind: col.kind.to_string(), filter_query: col.filter_query, created_at: col.created_at, updated_at: col.updated_at, } } }