CertificateRepository
Component Detail
Data Layer
medium complexity
backend
0
Dependencies
0
Dependents
0
Entities
0
Integrations
Description
Manages persistence and retrieval of certificate records in the database, serving as the single data access layer for certificate entities. Handles CRUD operations for certificate metadata, status transitions, and expiry tracking. Provides query methods used by both the service layer and summary generation pipelines.
certificate-repository
Sources & reasoning
Line 114 specifies 'digitale sertifikater' as part of HLF's certification requirement; line 80 ties certificate status to automatic removal from public listings, establishing the digital record as the authoritative status source. Line 361 confirms 'Digitalt likepersonsbevis' in the Phase 3 roadmap, mapping to v1.1 by ordinal position.
-
docs/source/likeperson.md · line 114Kursadministrasjon og sertifisering: Påmelding til kurs i appen, automatisk påminnelse ved utløp, digitale sertifikater. Det fysiske kortet er et «adelsmerke» og skal leve parallelt.
-
docs/source/likeperson.md · line 80HLF kobler dette til sertifisering: ved utgått sertifikat forsvinner likepersonen fra lokallagets nettsider automatisk.
-
docs/source/likeperson.md · line 361Digitalt likepersonsbevis
Responsibilities
- Create and persist new certificate records upon issuance
- Retrieve a mentor's current certificate by mentor ID
- Update certificate status fields for transitions such as active, expired, suspended, or renewed
- Query certificates approaching expiry for batch reminder scheduling
- Delete or archive revoked certificate records
Interfaces
create(certificate: CertificateInput): Certificate
findByMentorId(mentorId: string): Certificate | null
updateStatus(certificateId: string, status: CertificateStatus): Certificate
findExpiringSoon(windowDays: number): Certificate[]
archive(certificateId: string): void