vectorizer_sdk/models/
file_upload.rs1use std::collections::HashMap;
4
5use serde::{Deserialize, Serialize};
6
7#[derive(Debug, Clone, Serialize, Deserialize)]
9pub struct FileUploadRequest {
10 pub collection_name: String,
12 #[serde(skip_serializing_if = "Option::is_none")]
14 pub chunk_size: Option<u32>,
15 #[serde(skip_serializing_if = "Option::is_none")]
17 pub chunk_overlap: Option<u32>,
18 #[serde(skip_serializing_if = "Option::is_none")]
20 pub metadata: Option<HashMap<String, serde_json::Value>>,
21}
22
23#[derive(Debug, Clone, Serialize, Deserialize)]
25pub struct FileUploadResponse {
26 pub success: bool,
28 pub filename: String,
30 pub collection_name: String,
32 pub chunks_created: u32,
34 pub vectors_created: u32,
36 pub file_size: u64,
38 pub language: String,
40 pub processing_time_ms: u64,
42}
43
44#[derive(Debug, Clone, Serialize, Deserialize)]
46pub struct FileUploadConfig {
47 pub max_file_size: u64,
49 pub max_file_size_mb: u32,
51 pub allowed_extensions: Vec<String>,
53 pub reject_binary: bool,
55 pub default_chunk_size: u32,
57 pub default_chunk_overlap: u32,
59}
60
61#[derive(Debug, Clone, Default)]
63pub struct UploadFileOptions {
64 pub chunk_size: Option<u32>,
66 pub chunk_overlap: Option<u32>,
68 pub metadata: Option<HashMap<String, serde_json::Value>>,
70}