Merge branch 'main' into feat/admin-api

# Conflicts:
#	crates/core/database/src/drivers/mod.rs
#	crates/core/database/src/drivers/reference.rs
#	crates/core/database/src/models/admin_migrations/ops/mongodb/init.rs
#	crates/core/database/src/models/channels/ops.rs
#	crates/core/database/src/models/server_members/ops.rs
#	crates/core/database/src/models/server_members/ops/mongodb.rs
#	crates/core/database/src/models/server_members/ops/reference.rs
#	crates/core/database/src/util/bridge/v0.rs
#	crates/core/result/src/axum.rs
#	crates/core/result/src/lib.rs
#	crates/core/result/src/rocket.rs
#	crates/delta/src/routes/mod.rs
#	crates/delta/src/routes/servers/server_edit.rs
This commit is contained in:
İspik
2026-06-28 16:08:48 +03:00
186 changed files with 109763 additions and 2624 deletions

View File

@@ -1,4 +1,8 @@
use axum::{http::StatusCode, response::IntoResponse, Json};
use axum::{
http::{header, StatusCode},
response::IntoResponse,
Json,
};
use crate::{Error, ErrorType};
@@ -95,6 +99,29 @@ impl IntoResponse for Error {
ErrorType::FileTypeNotAllowed => StatusCode::BAD_REQUEST,
ErrorType::ImageProcessingFailed => StatusCode::INTERNAL_SERVER_ERROR,
ErrorType::NoEmbedData => StatusCode::BAD_REQUEST,
ErrorType::RenderFail => StatusCode::INTERNAL_SERVER_ERROR,
ErrorType::MissingHeaders => StatusCode::BAD_REQUEST,
ErrorType::CaptchaFailed => StatusCode::BAD_REQUEST,
ErrorType::BlockedByShield => StatusCode::BAD_REQUEST,
ErrorType::UnverifiedAccount => StatusCode::FORBIDDEN,
ErrorType::EmailFailed => StatusCode::INTERNAL_SERVER_ERROR,
ErrorType::InvalidToken => StatusCode::UNAUTHORIZED,
ErrorType::MissingInvite => StatusCode::BAD_REQUEST,
ErrorType::InvalidInvite => StatusCode::BAD_REQUEST,
ErrorType::CompromisedPassword => StatusCode::BAD_REQUEST,
ErrorType::ShortPassword => StatusCode::BAD_REQUEST,
ErrorType::Blacklisted => {
return (
StatusCode::UNAUTHORIZED,
[(header::CONTENT_TYPE, "application/json")],
"{\"type\":\"DisallowedContactSupport\", \"note\":\"If you see this messages right here, you're probably doing something you shouldn't be.\"}"
).into_response()
}
ErrorType::LockedOut => StatusCode::FORBIDDEN,
ErrorType::TotpAlreadyEnabled => StatusCode::BAD_REQUEST,
ErrorType::DisallowedMFAMethod => StatusCode::BAD_REQUEST,
ErrorType::OperationFailed => StatusCode::INTERNAL_SERVER_ERROR,
ErrorType::IncorrectData { .. } => StatusCode::BAD_REQUEST,
ErrorType::ImATeaPot => StatusCode::IM_A_TEAPOT,