systemprompt_files/services/upload/
error.rs1use thiserror::Error;
7
8use super::FileValidationError;
9use crate::error::FilesError;
10
11#[derive(Debug, Error)]
12pub enum FileUploadError {
13 #[error("File persistence is disabled")]
14 PersistenceDisabled,
15
16 #[error("Validation failed: {0}")]
17 Validation(#[from] FileValidationError),
18
19 #[error("Failed to decode base64: {0}")]
20 Base64Decode(#[from] base64::DecodeError),
21
22 #[error("IO error: {0}")]
23 Io(#[from] std::io::Error),
24
25 #[error("Storage error: {0}")]
26 Storage(#[from] systemprompt_traits::FileStorageError),
27
28 #[error("Database error: {0}")]
29 Database(#[source] FilesError),
30
31 #[error("Base64 input too large: encoded size {encoded_size} bytes exceeds limit")]
32 Base64TooLarge { encoded_size: usize },
33
34 #[error("Path validation failed: {0}")]
35 PathValidation(String),
36}