chore: migrate authifier into codebase (#658)

Co-authored-by: izzy <me@insrt.uk>
Signed-off-by: Zomatree <me@zomatree.live>
Signed-off-by: izzy <me@insrt.uk>
This commit is contained in:
Zomatree
2026-06-21 00:50:06 +01:00
committed by GitHub
parent a7af24b38d
commit d27917b824
145 changed files with 108392 additions and 1189 deletions

View File

@@ -99,6 +99,32 @@ impl<'r> Responder<'r, 'static> for Error {
ErrorType::ImageProcessingFailed => Status::InternalServerError,
ErrorType::NoEmbedData => Status::BadRequest,
ErrorType::VosoUnavailable => Status::BadRequest,
ErrorType::RenderFail => Status::InternalServerError,
ErrorType::MissingHeaders => Status::BadRequest,
ErrorType::CaptchaFailed => Status::BadRequest,
ErrorType::BlockedByShield => Status::BadRequest,
ErrorType::UnverifiedAccount => Status::Forbidden,
ErrorType::EmailFailed => Status::InternalServerError,
ErrorType::InvalidToken => Status::Unauthorized,
ErrorType::MissingInvite => Status::BadRequest,
ErrorType::InvalidInvite => Status::BadRequest,
ErrorType::CompromisedPassword => Status::BadRequest,
ErrorType::ShortPassword => Status::BadRequest,
ErrorType::Blacklisted => {
// Fail blacklisted email addresses.
const RESP: &str = "{\"type\":\"DisallowedContactSupport\", \"note\":\"If you see this messages right here, you're probably doing something you shouldn't be.\"}";
return Response::build()
.status(Status::Unauthorized)
.sized_body(RESP.len(), std::io::Cursor::new(RESP))
.ok();
}
ErrorType::LockedOut => Status::Forbidden,
ErrorType::TotpAlreadyEnabled => Status::BadRequest,
ErrorType::DisallowedMFAMethod => Status::BadRequest,
ErrorType::OperationFailed => Status::InternalServerError,
ErrorType::IncorrectData { .. } => Status::BadRequest,
};
// Serialize the error data structure into JSON.