Proxy Registration Service
Component Detail
Service Layer
high complexity
mobilebackend
2
Dependencies
2
Dependents
7
Entities
0
Integrations
Description
Business logic service that handles submission of proxy and bulk activity registrations. Accepts a single activity payload plus a list of target peer mentors and fans out to N individual activity records server-side via POST /api/v1/activities, each carrying a registered_by field containing the coordinator's user ID for audit traceability. Manages per-record failure isolation so a single failed submission does not block the remaining batch.
proxy-registration-service
Responsibilities
- Fan out a shared activity payload into N individual activity records for each selected peer mentor
- Attach registered_by field (coordinator user ID) to each submitted activity for audit compliance
- Submit records to REST API and collect per-record success/failure results
- Enqueue failed records in the offline sync queue for later retry
- Validate that the submitting user holds Coordinator role or above before proceeding
Interfaces
submitProxyActivity(activity: ActivityPayload, mentorIds: List<String>, coordinatorId: String): Future<BulkSubmissionResult>
buildProxyActivityRecord(activity: ActivityPayload, mentorId: String, coordinatorId: String): ActivityRecord
submitSingle(record: ActivityRecord): Future<SubmissionResult>
enqueueFailedRecord(record: ActivityRecord): void
validateCoordinatorAccess(userId: String): Future<bool>
getSubmissionStatus(batchId: String): Future<BulkSubmissionStatus>
retryFailedSubmissions(batchId: String): Future<BulkSubmissionResult>
getPeerMentorsForCoordinator(coordinatorId: String): Future<List<PeerMentor>>
Relationships
Dependencies (2)
Components this component depends on
Dependents (2)
Components that depend on this component
Related Data Entities (7)
Data entities managed by this component