Commit Graph

2 Commits

Author SHA1 Message Date
Andrés Eduardo García Márquez 9d8c6f0331 refactor(backend): add validation patterns, query validators, and test builders
- Add centralized ValidationPatterns with XSS protection and name regex
- Add query validators (GetClassmates, GetStudentById, GetStudentsPaged, GetAvailableSubjects)
- Add ClassmateInfo read model for optimized query projections
- Add test builders (Student, Subject, Professor, Enrollment) for cleaner tests
- Improve repository interfaces with XML documentation
- Refactor EnrollmentRepository for better performance
- Update EnrollmentDomainService with additional validation helpers
2026-01-08 09:18:27 -05:00
Andrés Eduardo García Márquez 68e420fdf2 feat(application): add CQRS application layer
Commands:
- CreateStudent, UpdateStudent, DeleteStudent
- EnrollStudent, UnenrollStudent

Queries:
- GetStudents, GetStudentById, GetStudentsPaged
- GetSubjects, GetAvailableSubjects
- GetProfessors
- GetClassmates

DTOs:
- StudentDto, SubjectDto, ProfessorDto, EnrollmentDtos

Validation:
- FluentValidation with ValidationBehavior pipeline
- EnrollStudentValidator for input validation

Uses MediatR for command/query dispatching
2026-01-07 22:59:23 -05:00