Skip to main content

systemprompt_files/services/upload/
error.rs

1use thiserror::Error;
2
3use super::FileValidationError;
4
5#[derive(Debug, Error)]
6pub enum FileUploadError {
7    #[error("File persistence is disabled")]
8    PersistenceDisabled,
9
10    #[error("Validation failed: {0}")]
11    Validation(#[from] FileValidationError),
12
13    #[error("Failed to decode base64: {0}")]
14    Base64Decode(#[from] base64::DecodeError),
15
16    #[error("IO error: {0}")]
17    Io(#[from] std::io::Error),
18
19    #[error("Database error: {0}")]
20    Database(String),
21
22    #[error("Configuration error: {0}")]
23    Config(String),
24
25    #[error("Base64 input too large: encoded size {encoded_size} bytes exceeds limit")]
26    Base64TooLarge { encoded_size: usize },
27
28    #[error("Path validation failed: {0}")]
29    PathValidation(String),
30}