Data Layer medium complexity mobilebackend
0
Dependencies
4
Dependents
1
Entities
1
Integrations

Description

Data access layer for all proxy and bulk activity records. Provides CRUD operations against Supabase with support for the registered_by / attributed_to field pair and batch insert for bulk registrations.

Feature: Proxy & Bulk Activity Registration

proxy-activity-repository

Responsibilities

  • Insert single proxy activity with full attribution metadata
  • Execute batch insert for bulk registrations in a single transaction
  • Query activities by attributed_to for mentor reporting
  • Query activities by registered_by for coordinator audit views
  • Detect duplicate records by composite key (mentor_id, date, activity_type_id)

Interfaces

insertProxyActivity(ProxyActivityRecord record)
insertBulkActivities(List<ProxyActivityRecord> records)
findByAttribution(String mentorId, DateRange range)
findByRegistrant(String coordinatorId, DateRange range)
findDuplicate(String mentorId, DateTime date, String activityTypeId)
findBatchDuplicates(List<DuplicateCheckRequest> requests)
softDelete(String activityId)
getById(String activityId)

Related Data Entities (1)

Data entities managed by this component

Used Integrations (1)

External integrations and APIs this component relies on

API Contract

View full contract →
REST /api/v1/activity-records 5 endpoints
GET /api/v1/activity-records List activity records filtered by mentor or recorder (coordinator)
GET /api/v1/activity-records/:id Get a single activity record by ID
POST /api/v1/activity-records Insert a single proxy activity record (insertProxyActivity) or bulk (insertBulkActivities via bulk_mode flag)
PUT /api/v1/activity-records/:id Update an activity record
DELETE /api/v1/activity-records/:id Delete an activity record