compose_rs/
error.rs

1use thiserror::Error;
2
3#[derive(Error, Debug)]
4pub enum ComposeError {
5    #[error("Docker Compose file not found at {0}")]
6    FileNotFound(String),
7    #[error("IO error: {0}")]
8    IoError(#[from] std::io::Error),
9    #[error("Command failed: {} - {}", .0.status, String::from_utf8_lossy(&.0.stderr))]
10    CommandFailed(std::process::Output),
11    #[error("Invalid Arguments: {0}")]
12    InvalidArguments(String),
13    #[error("Failed to Deserialize JSON: {0}")]
14    JsonError(#[from] serde_json::Error),
15    #[error("Failed to Parse docker output: {0}")]
16    ParseError(String),
17}
18
19#[derive(Error, Debug)]
20pub enum ComposeBuilderError {
21    #[error("Docker Compose file not found at {0}")]
22    FileNotFound(String),
23    #[error("Missing field: {0}")]
24    MissingField(String),
25    #[error("IO error: {0}")]
26    IoError(#[from] std::io::Error),
27}