lighty_launch/
errors.rs

1use thiserror::Error;
2
3/// Erreurs possibles lors de l'installation
4#[derive(Debug, Error)]
5pub enum InstallerError {
6    #[error("IO error: {0}")]
7    Io(#[from] std::io::Error),
8
9    #[error("HTTP error: {0}")]
10    Http(#[from] reqwest::Error),
11
12    #[error("SHA1 verification failed: {0}")]
13    Sha1(#[from] lighty_core::HashError),
14
15    #[error("Query error: {0}")]
16    Query(#[from] lighty_loaders::utils::error::QueryError),
17
18    #[error("Loader not supported: {0}")]
19    UnsupportedLoader(String),
20
21    #[error("Invalid metadata: expected Version")]
22    InvalidMetadata,
23
24    #[error("Missing required field: {0}")]
25    MissingField(String),
26
27    #[error("Download failed: {0}")]
28    DownloadFailed(String),
29
30    #[error("Zip error: {0}")]
31    Zip(#[from] async_zip::error::ZipError),
32}
33
34pub type InstallerResult<T> = std::result::Result<T, InstallerError>;