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.

Feature: Bulk Registration & Proxy Reporting

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