Andrés Eduardo García Márquez
|
1b9918a90c
|
feat(auth): implement account activation backend
Add complete backend support for student account activation:
Persistence layer:
- StudentConfiguration: add IsActive, ActivationCode, ActivationCodeExpiry mappings
- Migration: AddStudentActivation with new columns
- StudentRepository: implement GetByActivationCodeAsync
Application layer:
- ActivateAccountCommand: validates code and activates student account
- RegenerateActivationCodeCommand: generates new code with expiry
- CreateStudentCommand: generates activation code on registration
- StudentDto: expose activation status fields
- Auth Queries: add activation status lookup
API layer:
- Mutation: add activateAccount and regenerateActivationCode endpoints
- Query: add activation status queries
Tests:
- Unit tests for activation commands
- Integration tests for enrollment flow with activation
|
2026-01-09 07:42:05 -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 |