edgequake_sdk/types/
documents.rs1use serde::{Deserialize, Serialize};
4
5use super::common::PaginationInfo;
6
7#[derive(Debug, Clone, Deserialize, Serialize)]
9pub struct UploadDocumentResponse {
10 pub id: String,
11 #[serde(default)]
12 pub status: Option<String>,
13 #[serde(default)]
14 pub message: Option<String>,
15 #[serde(default)]
16 pub track_id: Option<String>,
17}
18
19#[derive(Debug, Clone, Deserialize, Serialize)]
21pub struct DocumentSummary {
22 pub id: String,
23 #[serde(default)]
24 pub file_name: Option<String>,
25 #[serde(default)]
26 pub title: Option<String>,
27 #[serde(default)]
28 pub status: Option<String>,
29 #[serde(default)]
30 pub file_size: Option<u64>,
31 #[serde(default)]
32 pub mime_type: Option<String>,
33 #[serde(default)]
34 pub entity_count: Option<u32>,
35 #[serde(default)]
36 pub chunk_count: Option<u32>,
37 #[serde(default)]
38 pub created_at: Option<String>,
39 #[serde(default)]
40 pub updated_at: Option<String>,
41}
42
43#[derive(Debug, Clone, Deserialize, Serialize)]
45pub struct ListDocumentsResponse {
46 #[serde(default)]
47 pub documents: Vec<DocumentSummary>,
48 #[serde(default)]
49 pub pagination: Option<PaginationInfo>,
50}
51
52#[derive(Debug, Clone, Deserialize, Serialize)]
54pub struct TrackStatusResponse {
55 pub track_id: String,
56 pub status: String,
57 #[serde(default)]
58 pub progress: Option<f64>,
59 #[serde(default)]
60 pub message: Option<String>,
61 #[serde(default)]
62 pub document_id: Option<String>,
63}
64
65#[derive(Debug, Clone, Deserialize, Serialize)]
67pub struct ScanResponse {
68 #[serde(default)]
69 pub files_found: u32,
70 #[serde(default)]
71 pub files_queued: u32,
72 #[serde(default)]
73 pub files_skipped: u32,
74}
75
76#[derive(Debug, Clone, Deserialize, Serialize)]
78pub struct DeletionImpactResponse {
79 #[serde(default)]
80 pub entity_count: u32,
81 #[serde(default)]
82 pub relationship_count: u32,
83 #[serde(default)]
84 pub chunk_count: u32,
85}
86
87#[derive(Debug, Clone, Deserialize, Serialize)]
89pub struct PdfUploadResponse {
90 pub id: String,
91 #[serde(default)]
92 pub status: Option<String>,
93 #[serde(default)]
94 pub track_id: Option<String>,
95}
96
97#[derive(Debug, Clone, Deserialize, Serialize)]
99pub struct PdfProgressResponse {
100 pub track_id: String,
101 pub status: String,
102 #[serde(default)]
103 pub progress: Option<f64>,
104}
105
106#[derive(Debug, Clone, Deserialize, Serialize)]
108pub struct PdfContentResponse {
109 pub id: String,
110 #[serde(default)]
111 pub markdown: Option<String>,
112}
113
114#[derive(Debug, Clone, Serialize)]
116pub struct ScanRequest {
117 pub path: String,
118 #[serde(skip_serializing_if = "Option::is_none")]
119 pub recursive: Option<bool>,
120 #[serde(skip_serializing_if = "Option::is_none")]
121 pub extensions: Option<Vec<String>>,
122}