-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Labels
Description
Phase 2: Foundational
Task: T013
Status: Not Started
Story: Foundational (blocking all user stories)
Parallelizable: Yes - interface definition only
Description
Create Certificate repository interface with async data access methods following repository pattern.
Acceptance Criteria
- File created: api/CourseRegistration.Infrastructure/Repositories/ICertificateRepository.cs
- Interface methods defined:
- Task GetByIdAsync(Guid certificateId)
- Task GetBySerialNumberAsync(string serialNumber)
- Task<PagedResult> GetStudentCertificatesAsync(int studentId, int pageNumber, int pageSize, CertificateStatus? status = null)
- Task AddAsync(Certificate certificate)
- Task UpdateAsync(Certificate certificate)
- Task ExistsBySerialNumberAsync(string serialNumber)
- All methods are async (Task-returning)
- Includes soft delete pattern (WHERE IsDeleted = 0)
- XML documentation on all methods
Effort Estimate
1.5 hours
References
- plan.md: Project Structure (Repositories)
- data-model.md: Certificate Entity
Reactions are currently unavailable