Service Layer medium complexity backend
0
Dependencies
0
Dependents
1
Entities
0
Integrations

Description

Business logic layer that orchestrates mentor location data retrieval, filter processing, and geographic calculations for the map feature. It translates raw geolocation records into map-ready structures and applies domain rules such as visibility based on role-based access. This service coordinates between the repository layer and the UI to ensure only authorized mentor locations are surfaced.

Feature: Peer Mentor Map

map-service

Sources & reasoning

Lines 99 and 359 directly name geographic map view as a Blindeforbundet need and place it in Fase 3. Fase 3 maps to v1.1 by ordinal position. The blueprint confirms this area at v1.1 phase.

  • docs/source/likeperson.md · line 99
    Geografisk kartvisning av likepersoner for matching og oppdragstildeling (særlig store fylker).
  • docs/source/likeperson.md · line 359
    Geografisk kartvisning (Blindeforbundet)

Responsibilities

  • Fetch and aggregate mentor geolocation data for the current coordinator scope
  • Apply role-based access rules to filter visible mentor locations
  • Process and normalize filter parameters before querying the repository
  • Calculate geographic coverage metrics and gap indicators
  • Transform repository records into map-ready MentorLocation view models

Interfaces

getMentorLocations(coordinatorId: string, filters: MapFilterOptions): MentorLocation[]
getCoverageMetrics(regionId: string): CoverageReport
getMentorMapSummary(mentorId: string): MentorSummary
applyAccessPolicy(mentors: MentorLocation[], roleContext: RoleContext): MentorLocation[]

Related Data Entities (1)

Data entities managed by this component