feat: Enhance validation and permissions handling across controllers
- Added `ValidatedJson` extractor for automatic JSON validation in `events_controller.rs`, `testimonials_controller.rs`, `mentors_controller.rs`, `gacha_items_controller.rs`, and `hackathon_controller.rs`. - Replaced manual permission checks with `require_permissions!` and `require_auth!` macros in relevant controllers to streamline permission handling. - Introduced `sanitization` utilities in `sanitization.rs` for improved input sanitization. - Added `permission_macros.rs` to encapsulate permission checking logic and reduce boilerplate. - Updated dependencies in `Cargo.toml` to include `serde_json` and `validator`. - Implemented error handling improvements in `notification_service.rs` for better response management.
This commit is contained in:
1 parent
d4a6c4c9ea
commit
b9a51ce6cc
17 files changed
+551
-225
No files matched your search
@@ -10,7 +10,8 @@ use super::hackathon_schema::SubmissionStatus;
|
||||
use crate::v1::hackathon::HackathonRepository;
|
||||
use crate::{AppState, ResponseSuccessDto, ErrorDto};
|
||||
use imphnen_entities::{PermissionsEnum, UsersDetailQueryDto};
|
||||
use imphnen_libs::{MetaRequestDto, ResponseListSuccessDto};
|
||||
use imphnen_libs::{MetaRequestDto, ResponseListSuccessDto, ValidatedJson};
|
||||
use imphnen_iam::require_permissions;
|
||||
use axum::{
|
||||
extract::{Extension, Path, Query},
|
||||
http::StatusCode,
|
||||
|
||||
Reference in new issue
Block a user