chore: use constants to convert ServiceError to StatusCode

master
Aravinth Manivannan 2 years ago
parent 043211a357
commit b85ef1d531
Signed by: realaravinth
GPG Key ID: AD9F0F08E855ED88

@ -118,6 +118,9 @@ pub enum ServiceError {
#[display(fmt = "Comment is empty")]
EmptyComment,
#[display(fmt = "Unauthorized {}", _0)]
UnauthorizedOperation(#[error(not(source))] String),
}
impl From<CredsError> for ServiceError {
@ -199,33 +202,33 @@ impl ResponseError for ServiceError {
#[cfg(not(tarpaulin_include))]
fn status_code(&self) -> StatusCode {
let status_code = match self {
ServiceError::ClosedForRegistration => 403, //FORBIDDEN,
ServiceError::InternalServerError => 500, // INTERNAL SERVER ERROR
ServiceError::NotAnEmail => 400, //BADREQUEST,
ServiceError::NotAUrl => 400, //BADREQUEST,
ServiceError::NotAnId => 400, //BADREQUEST,
ServiceError::URLTooLong => 400, //BADREQUEST,
ServiceError::WrongPassword => 401, //UNAUTHORIZED,
ServiceError::AccountNotFound => 404, //NOT FOUND,
ServiceError::ProfainityError => 400, //BADREQUEST,
ServiceError::BlacklistError => 400, //BADREQUEST,
ServiceError::UsernameCaseMappedError => 400, //BADREQUEST,
ServiceError::PasswordTooShort => 400, //BADREQUEST,
ServiceError::PasswordTooLong => 400, //BADREQUEST,
ServiceError::PasswordsDontMatch => 400, //BADREQUEST,
ServiceError::UsernameTaken => 400, //BADREQUEST,
ServiceError::EmailTaken => 400, //BADREQUEST,
ServiceError::FSError(_) => 500,
ServiceError::GistNotFound => 404,
ServiceError::CommentNotFound => 404,
ServiceError::EmptyComment => 400,
};
StatusCode::from_u16(status_code).unwrap()
match self {
ServiceError::ClosedForRegistration => StatusCode::FORBIDDEN, //FORBIDDEN,
ServiceError::InternalServerError => StatusCode::INTERNAL_SERVER_ERROR, // INTERNAL SERVER ERROR
ServiceError::NotAnEmail => StatusCode::BAD_REQUEST, //BADREQUEST,
ServiceError::NotAUrl => StatusCode::BAD_REQUEST, //BADREQUEST,
ServiceError::NotAnId => StatusCode::BAD_REQUEST, //BADREQUEST,
ServiceError::URLTooLong => StatusCode::BAD_REQUEST, //BADREQUEST,
ServiceError::WrongPassword => StatusCode::UNAUTHORIZED, //UNAUTHORIZED,
ServiceError::AccountNotFound => StatusCode::NOT_FOUND, //NOT FOUND,
ServiceError::ProfainityError => StatusCode::BAD_REQUEST, //BADREQUEST,
ServiceError::BlacklistError => StatusCode::BAD_REQUEST, //BADREQUEST,
ServiceError::UsernameCaseMappedError => StatusCode::BAD_REQUEST, //BADREQUEST,
ServiceError::PasswordTooShort => StatusCode::BAD_REQUEST, //BADREQUEST,
ServiceError::PasswordTooLong => StatusCode::BAD_REQUEST, //BADREQUEST,
ServiceError::PasswordsDontMatch => StatusCode::BAD_REQUEST, //BADREQUEST,
ServiceError::UsernameTaken => StatusCode::BAD_REQUEST, //BADREQUEST,
ServiceError::EmailTaken => StatusCode::BAD_REQUEST, //BADREQUEST,
ServiceError::FSError(_) => StatusCode::INTERNAL_SERVER_ERROR,
ServiceError::GistNotFound => StatusCode::NOT_FOUND,
ServiceError::CommentNotFound => StatusCode::NOT_FOUND,
ServiceError::EmptyComment => StatusCode::BAD_REQUEST,
ServiceError::UnauthorizedOperation(_) => StatusCode::UNAUTHORIZED,
}
}
}

Loading…
Cancel
Save