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

Description

Data access layer providing all CRUD operations against the user_local_associations junction table. Implements the partial unique index constraint for primary associations at the query level, supports bulk insert operations, and exposes paginated queries for the admin portal user list with association join data.

Feature: Member Associations

association-membership-repository

Responsibilities

  • Execute CRUD operations on user_local_associations records
  • Enforce unique primary association constraint via guarded upsert
  • Support bulk insert of multiple user-association pairs in a single transaction
  • Provide paginated user list queries joined with association membership counts
  • Return membership audit history ordered by created_at

Interfaces

findByUserId(userId)
findByAssociationId(associationId)
findPrimaryForUser(userId)
create(userId, associationId, isPrimary)
delete(userId, associationId)
setPrimary(userId, associationId)
bulkCreate(records[])
listUsersWithMembershipCounts(organizationId, pagination)
getMembershipHistory(userId)
countMembersPerAssociation(organizationId)

Relationships

Dependents (2)

Components that depend on this component

Related Data Entities (2)

Data entities managed by this component