cognee_http_server/dto/
sync.rs1use serde::{Deserialize, Serialize};
8use utoipa::ToSchema;
9use uuid::Uuid;
10
11#[derive(Debug, Clone, Default, Deserialize, ToSchema)]
17#[serde(rename_all = "camelCase")]
18pub struct SyncRequestDTO {
19 #[serde(default, alias = "dataset_ids")]
21 pub dataset_ids: Option<Vec<Uuid>>,
22}
23
24#[derive(Debug, Clone, Serialize, ToSchema)]
29#[serde(rename_all = "snake_case")]
30pub struct SyncResponseDTO {
31 pub run_id: String,
32 pub status: String,
33 pub dataset_ids: Vec<String>,
34 pub dataset_names: Vec<String>,
35 pub message: String,
36 pub timestamp: String,
37 pub user_id: String,
38}
39
40#[derive(Debug, Clone, Serialize, ToSchema)]
42#[serde(rename_all = "snake_case")]
43pub struct SyncConflictDTO {
44 pub error: String,
45 pub details: SyncConflictDetailsDTO,
46}
47
48#[derive(Debug, Clone, Serialize, ToSchema)]
49#[serde(rename_all = "snake_case")]
50pub struct SyncConflictDetailsDTO {
51 pub run_id: String,
52 pub status: String,
53 pub dataset_ids: Vec<Uuid>,
54 pub dataset_names: Vec<String>,
55 pub message: String,
56 pub timestamp: String,
57 pub progress_percentage: u32,
58}
59
60#[derive(Debug, Clone, Serialize, ToSchema)]
62#[serde(rename_all = "snake_case")]
63pub struct SyncStatusOverviewDTO {
64 pub has_running_sync: bool,
65 pub running_sync_count: usize,
66 #[serde(skip_serializing_if = "Option::is_none")]
67 pub latest_running_sync: Option<LatestRunningSyncDTO>,
68}
69
70#[derive(Debug, Clone, Serialize, ToSchema)]
71#[serde(rename_all = "snake_case")]
72pub struct LatestRunningSyncDTO {
73 pub run_id: String,
74 pub dataset_ids: Vec<Uuid>,
75 pub dataset_names: Vec<String>,
76 pub progress_percentage: u32,
77 pub created_at: Option<String>,
78}
79
80#[derive(Debug, Clone, Serialize, ToSchema)]
84#[serde(rename_all = "snake_case")]
85pub struct SyncErrorDTO {
86 pub error: String,
87}