42 lines
1.4 KiB
Rust
42 lines
1.4 KiB
Rust
|
use crate::server::config::BranchName;
|
||
|
|
||
|
#[derive(Debug)]
|
||
|
pub enum ForgeFileError {
|
||
|
NotFound(String),
|
||
|
ParseContent,
|
||
|
DecodeFromBase64,
|
||
|
DecodeFromUtf8,
|
||
|
UnknownEncoding(String),
|
||
|
NotFile(String),
|
||
|
Unknown(String),
|
||
|
}
|
||
|
impl std::error::Error for ForgeFileError {}
|
||
|
impl std::fmt::Display for ForgeFileError {
|
||
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||
|
match self {
|
||
|
Self::NotFound(file_path) => write!(f, "File not found: {file_path}"),
|
||
|
Self::NotFile(file_path) => write!(f, "Not a file: {file_path}"),
|
||
|
Self::DecodeFromBase64 => write!(f, "Unable to decode from base64"),
|
||
|
Self::DecodeFromUtf8 => write!(f, "Unable to decode from UTF-8"),
|
||
|
Self::UnknownEncoding(encoding) => write!(f, "Unknown file encoding: {encoding}"),
|
||
|
Self::ParseContent => write!(f, "Unable to parse file contents"),
|
||
|
Self::Unknown(status) => write!(f, "Unknown error (status: {status})"),
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
#[derive(Debug)]
|
||
|
pub enum ForgeBranchError {
|
||
|
NotFound(BranchName),
|
||
|
NoneFound,
|
||
|
}
|
||
|
impl std::error::Error for ForgeBranchError {}
|
||
|
impl std::fmt::Display for ForgeBranchError {
|
||
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||
|
match self {
|
||
|
Self::NotFound(branch_name) => write!(f, "Branch not found: {branch_name}"),
|
||
|
Self::NoneFound => write!(f, "Unable to find any branches"),
|
||
|
}
|
||
|
}
|
||
|
}
|