use crate::error::create_project_asset::CreateProjectAssetError;
use crate::error::gather_asset_descriptors::GatherAssetDescriptorsError;
use crate::error::get_asset_properties::GetAssetPropertiesError;
use ic_agent::AgentError;
use thiserror::Error;
use super::AssembleCommitBatchArgumentError;
#[derive(Error, Debug)]
pub enum UploadContentError {
#[error("Failed to assemble commit_batch argument")]
AssembleCommitBatchArgumentFailed(#[source] AssembleCommitBatchArgumentError),
#[error("Failed to create batch")]
CreateBatchFailed(#[source] AgentError),
#[error("Failed to create project asset")]
CreateProjectAssetError(#[from] CreateProjectAssetError),
#[error("Failed to gather asset descriptors")]
GatherAssetDescriptorsFailed(#[from] GatherAssetDescriptorsError),
#[error(transparent)]
GetAssetPropertiesFailed(#[from] GetAssetPropertiesError),
#[error("Failed to list assets")]
ListAssetsFailed(#[source] AgentError),
}