feat: Implement hackathon status change functionality with audit logging

- Added HackathonStatusChangeRequestDto for status change requests.
- Implemented update_hackathon_status method in HackathonRepository to handle status updates.
- Enhanced HackathonService to validate and process status changes, including audit logging.
- Introduced HackathonAuditLogSchema to track changes and actions related to hackathons.
- Created HackathonAuditRepository for managing audit logs.
- Added validation functions for hackathon operations, including dates, organizers, and prizes.
- Implemented atomic service for creating hackathons with timelines and events, ensuring all-or-nothing behavior.
- Updated mod.rs to include new modules for audit logging and validation.
This commit is contained in:
MythEclipse
2025-10-28 19:55:38 +07:00
parent 95ae55c9df
commit 5cc5a3dfe1
9 changed files with 1284 additions and 36 deletions
@@ -5,12 +5,20 @@ pub mod hackathon_dto;
pub mod hackathon_repository;
pub mod hackathon_schema;
pub mod hackathon_service;
pub mod hackathon_audit_schema;
pub mod hackathon_audit_repository;
pub mod hackathon_validation;
pub mod hackathon_atomic_service;
// Export types and functions
pub use hackathon_dto::*;
pub use hackathon_repository::HackathonRepository;
pub use hackathon_schema::*;
pub use hackathon_service::{HackathonService, HackathonServiceTrait};
pub use hackathon_audit_schema::*;
pub use hackathon_audit_repository::HackathonAuditRepository;
pub use hackathon_validation::*;
pub use hackathon_atomic_service::*;
// Export controller functions
pub use hackathon_controller::*;