83 lines
2.7 KiB
Rust
83 lines
2.7 KiB
Rust
use thiserror::Error;
|
|
|
|
#[derive(Clone, Debug, Error, Eq, PartialEq)]
|
|
pub enum DomainError {
|
|
#[error("{field} cannot be empty")]
|
|
EmptyField { field: &'static str },
|
|
|
|
#[error("invalid URL: {value}")]
|
|
InvalidUrl { value: String },
|
|
|
|
#[error("invalid site origin: {value}")]
|
|
InvalidSiteOrigin { value: String },
|
|
|
|
#[error("invalid site permission feature: {value}")]
|
|
InvalidSitePermissionFeature { value: String },
|
|
|
|
#[error("invalid site permission decision: {value}")]
|
|
InvalidSitePermissionDecision { value: String },
|
|
|
|
#[error("invalid file name: {value}")]
|
|
InvalidFileName { value: String },
|
|
|
|
#[error("invalid {kind} id: {value}")]
|
|
InvalidEntityId { kind: &'static str, value: String },
|
|
|
|
#[error("invalid {algorithm} download checksum: {value}")]
|
|
InvalidDownloadChecksum { algorithm: &'static str, value: String },
|
|
|
|
#[error("invalid download directory: {path}")]
|
|
InvalidDownloadDirectory { path: String },
|
|
|
|
#[error("invalid command query")]
|
|
InvalidCommand,
|
|
|
|
#[error("cannot {action} download while state is {state}")]
|
|
InvalidDownloadTransition { action: &'static str, state: &'static str },
|
|
|
|
#[error("download progress {received_bytes} exceeds total {total_bytes}")]
|
|
InvalidDownloadProgress { received_bytes: u64, total_bytes: u64 },
|
|
|
|
#[error("invalid reading progress percent: {value}")]
|
|
InvalidReadingProgressPercent { value: String },
|
|
|
|
#[error("invalid plugin manifest: {reason}")]
|
|
InvalidPluginManifest { reason: String },
|
|
|
|
#[error("invalid plugin id: {value}")]
|
|
InvalidPluginId { value: String },
|
|
|
|
#[error("invalid plugin homepage: {value}")]
|
|
InvalidPluginHomepage { value: String },
|
|
|
|
#[error("invalid plugin permission: {value}")]
|
|
InvalidPluginPermission { value: String },
|
|
|
|
#[error("duplicate plugin permission: {value}")]
|
|
DuplicatePluginPermission { value: String },
|
|
|
|
#[error("invalid plugin contribution: {value}")]
|
|
InvalidPluginContribution { value: String },
|
|
|
|
#[error("duplicate plugin contribution: {value}")]
|
|
DuplicatePluginContribution { value: String },
|
|
|
|
#[error("invalid plugin build requirement: {value}")]
|
|
InvalidPluginBuildRequirement { value: String },
|
|
|
|
#[error("invalid plugin checksum: {value}")]
|
|
InvalidPluginChecksum { value: String },
|
|
|
|
#[error("invalid plugin signature algorithm: {value}")]
|
|
InvalidPluginSignatureAlgorithm { value: String },
|
|
|
|
#[error("invalid plugin signature key id: {value}")]
|
|
InvalidPluginSignatureKeyId { value: String },
|
|
|
|
#[error("invalid plugin signature public key: {value}")]
|
|
InvalidPluginSignaturePublicKey { value: String },
|
|
|
|
#[error("invalid plugin signature: {value}")]
|
|
InvalidPluginSignature { value: String },
|
|
}
|