use thiserror::Error;
pub use yldfi_common::api::ApiError;
#[derive(Error, Debug)]
pub enum DomainError {
#[error("Not found: {0}")]
NotFound(String),
#[error("Invalid parameter: {0}")]
InvalidParam(String),
#[error("URL parse error: {0}")]
UrlParse(#[from] url::ParseError),
}
pub type Error = ApiError<DomainError>;
pub type Result<T> = std::result::Result<T, Error>;
pub fn not_found(resource: impl Into<String>) -> Error {
ApiError::domain(DomainError::NotFound(resource.into()))
}
pub fn invalid_param(message: impl Into<String>) -> Error {
ApiError::domain(DomainError::InvalidParam(message.into()))
}