Data Layer medium complexity mobile
0
Dependencies
0
Dependents
1
Entities
0
Integrations

Description

Handles all data access operations for mentor geographic records, including coordinates, region assignments, and association affiliations. It abstracts the underlying storage layer and exposes a typed interface for querying mentor locations with filtering and pagination support. It integrates with the encrypted assignment dispatch dependency to ensure location data is accessed only for mentors with valid active assignments.

Feature: Peer Mentor Map

geographic-repository

Sources & reasoning

Line 99 explicitly names geographic map view as a unique Blindeforbundet need for peer mentor matching and assignment dispatch across large counties. Line 358 places it in Fase 3 (third phase), which normalizes to v1.1. The blueprint confirms area [v1.1]. Feature is scoped exactly as defined in the blueprint.

Responsibilities

  • Query mentor location records from local database and remote API with filtering by status and region
  • Persist and invalidate cached geographic coordinates for offline-capable map rendering
  • Resolve region and association metadata linked to each mentor location record
  • Enforce data access boundaries by validating mentor active status before returning records
  • Provide paginated location queries to support large mentor datasets without memory pressure

Interfaces

getMentorLocations(filter: LocationFilter): Promise<MentorLocation[]>
getMentorLocationById(mentorId: string): Promise<MentorLocation | null>
getRegions(): Promise<Region[]>
cacheLocations(locations: MentorLocation[]): Promise<void>
clearLocationCache(): Promise<void>

Related Data Entities (1)

Data entities managed by this component