diff --git a/core/src/errors/uploads.rs b/core/src/errors/uploads.rs index 1e10e8c..faae1b3 100644 --- a/core/src/errors/uploads.rs +++ b/core/src/errors/uploads.rs @@ -2,6 +2,11 @@ use eva::{bytesize::ByteSize, data}; use crate::types::{file, upload}; +#[data(error, display("unable to validate file class: {error}"))] +pub struct UnableToValidateClass { + pub error: String, +} + #[data(error, copy, display("someone is finishing file already"))] #[derive(Default)] pub enum ConcurrentUploadInProgress { diff --git a/core/src/requests/uploads.rs b/core/src/requests/uploads.rs index cd5ebb2..dbcd0e4 100644 --- a/core/src/requests/uploads.rs +++ b/core/src/requests/uploads.rs @@ -67,6 +67,8 @@ pub mod finish { #[data(error)] pub enum Err { + #[display("{_0}")] + UnableToValidateClass(#[from] errors::uploads::UnableToValidateClass), #[display("{_0}")] NotFound(#[from] errors::uploads::NotFound), #[display("{_0}")] diff --git a/http/src/requests/uploads.rs b/http/src/requests/uploads.rs index 8d1d7b3..309898d 100644 --- a/http/src/requests/uploads.rs +++ b/http/src/requests/uploads.rs @@ -35,6 +35,7 @@ status_code::map!(reqs::finish::Err => [ NotFound, Overuploading, ConcurrentUploadInProgress, + UnableToValidateClass, ]); #[data] @@ -54,4 +55,5 @@ const _: () = { direct!(SimUpQuotaExceeded => TOO_MANY_REQUESTS); direct!(Overuploading => BAD_REQUEST); direct!(HashMismatch => BAD_REQUEST); + direct!(UnableToValidateClass => BAD_REQUEST); };