Data Layer low complexity backend
0
Dependencies
3
Dependents
0
Entities
0
Integrations

Description

Data access layer that reads and writes flag-related columns on the activities table (flag_state, flag_reason, flagged_by, flagged_at) and queries audit_logs for flag history. Provides scoped queries for listing flagged activities per organisation and supports the duplicate detection window query by contact, type, and date range.

Feature: Activity Flagging

activity-flag-repository

Responsibilities

  • Read and write flag_state, flag_reason, flagged_by, flagged_at columns on activities
  • Query flagged activities scoped to organisation with pagination
  • Retrieve flag history from audit_logs table
  • Execute duplicate-candidate query (contact_id + activity_type + date window)

Interfaces

updateFlagState(activityId: string, state: FlagState, reason: string, actorId: string): Promise<void>
getFlaggedActivities(orgId: string, cursor: string, limit: number): Promise<PaginatedResult<Activity>>
getFlagHistory(activityId: string): Promise<AuditLog[]>
findActivitiesByContactTypeAndDate(contactId: string, typeId: string, from: Date, to: Date): Promise<Activity[]>