Service Layer medium complexity mobilebackend
1
Dependencies
3
Dependents
7
Entities
0
Integrations

Description

Business logic layer for all peer mentor domain operations, exposing a typed PeerMentor domain model to the UI. Handles status transitions (active, paused, deactivated), certification expiry computation, and association assignment logic. Coordinates between the repository and any downstream services such as the Pause Notification Service.

Feature: Peer Mentor Profile & Management

peer-mentor-service

Responsibilities

  • Fetch and compose PeerMentor domain model from repository data
  • Compute certification expiry warning states
  • Orchestrate status transitions and validate business rules
  • Provide filtered mentor lists by status, association, or search query

Interfaces

getMentor(mentorId: string): Future<PeerMentor>
getMentorsByAssociation(associationId: string): Future<List<PeerMentor>>
getMentorsByStatus(status: MentorStatus): Future<List<PeerMentor>>
updateMentorStatus(mentorId: string, status: MentorStatus): Future<void>
getCertificationStatus(mentorId: string): CertificationStatus
assignMentorToAssociation(mentorId: string, associationId: string): Future<void>
searchMentors(query: String): Future<List<PeerMentor>>
getMentorActivitySummary(mentorId: string): Future<ActivitySummary>

Relationships

Dependencies (1)

Components this component depends on

Dependents (3)

Components that depend on this component