Coordinator Report Service
Component Detail
Service Layer
high complexity
backend
0
Dependencies
0
Dependents
18
Entities
0
Integrations
Description
Core business logic service that enforces role-based data scoping for all coordinator report queries. Maps the authenticated user's role and organizational memberships to the correct data scope (local association, region, or national), builds aggregation queries, and delegates heavy computation to Supabase RPCs or edge functions to avoid N+1 patterns.
coordinator-report-service
Responsibilities
- Enforce role-based data scoping by mapping user role to organizational scope
- Build and execute aggregation queries via Supabase RPC or edge functions
- Apply filter parameters (area, date range, activity type, peer mentor status) to scoped queries
- Generate CSV export payloads with coordinator-aligned column headers
Interfaces
getAggregatedStats(scopeKey: string, filters: FilterSet): Promise<DashboardStats>
getScopedPeerMentorList(userId: string): Promise<PeerMentor[]>
resolveUserScope(userId: string): Promise<OrgScope>
exportReportCSV(scopeKey: string, filters: FilterSet): Promise<Blob>
getActivityBreakdown(scopeKey: string, filters: FilterSet): Promise<ActivityBreakdown>
getPeerMentorActivitySummary(mentorId: string, filters: FilterSet): Promise<MentorSummary>
getRegionalComparison(regionId: string): Promise<RegionalStats>
Related Data Entities (18)
Data entities managed by this component
Activity
22 fields
core
Bulk Registration
16 fields
core
Delegation Grant
8 fields
audit
Driver Honorarium
19 fields
core
Event
20 fields
core
Event Participant
11 fields
core
Local Association
13 fields
core
Member Recruitment
15 fields
core
National Association
12 fields
core
Organization
14 fields
core
Peer Mentor
15 fields
core
Region
10 fields
core
Report Period
14 fields
configuration
Travel Expense Report
17 fields
core
User
17 fields
core
User Organization Membership
13 fields
core
User Role
15 fields
core
Workshop Session
18 fields
core