Association Membership Repository
Component Detail
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.
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