Data Layer medium complexity Shared Component backend
0
Dependencies
2
Dependents
0
Entities
0
Integrations

Description

Shared data component managing the activities table, extended with duplicate detection fields similarity_score (0-100) and duplicate_candidate_id. Provides read queries optimised for similarity lookups by peer_mentor_id, contact_id, activity_type, and date range alongside write operations for score persistence and soft-delete.

Feature: Duplicate Activity Detection

activities

Sources & reasoning

The activities table is the primary read and write target for duplicate detection - the service queries it for candidates and writes scores and candidate IDs back to it. Shared with activity-registration, activity-review-approval, activity-flagging, and other features.

No source references — this artifact was included based on reasoning alone (see above).

Responsibilities

  • Store and retrieve activity records including duplicate detection fields
  • Support similarity candidate queries by contact, peer mentor, type, and date range
  • Provide soft-delete and duplicate field update operations for resolution

Interfaces

findCandidatesForComparison(organizationId: string, dateWindow: number): Promise<Activity[]>
updateDuplicateFields(id: string, score: number, candidateId: string): Promise<void>
clearDuplicateFields(id: string): Promise<void>
softDelete(id: string): Promise<void>

Relationships

Dependents (2)

Components that depend on this component