Skip to main content

coil_runtime/storage/
error.rs

1use thiserror::Error;
2
3use coil_assets::AssetModelError;
4use coil_storage::{StoragePlanningError, execution::StorageExecutionError};
5
6#[derive(Debug, Error, PartialEq, Eq)]
7pub enum RuntimeStorageError {
8    #[error(transparent)]
9    Storage(#[from] StoragePlanningError),
10    #[error(transparent)]
11    Execution(#[from] StorageExecutionError),
12    #[error(transparent)]
13    Asset(#[from] AssetModelError),
14    #[error("assets.cdn_base_url must be configured for public asset publication")]
15    MissingCdnBaseUrl,
16    #[error("asset publication authorization failed for `{asset_id}`: {reason}")]
17    PublicationAuthorizationDenied { asset_id: String, reason: String },
18}