Data Layer high complexity backend
0
Dependencies
0
Dependents
7
Entities
0
Integrations

Description

Data access layer for all membership-related persistence operations. Wraps Supabase queries against the user_organization_memberships table with RLS policy compliance, ensuring cross-membership reads are permitted only for deduplication purposes and not for general data access.

Feature: Multi-Organization Membership Handling

membership-repository

Responsibilities

  • CRUD operations on user_organization_memberships records
  • Query all memberships for a given user with organization metadata
  • Update primary and active context flags
  • Support cross-membership activity queries scoped to deduplication
  • Enforce Supabase RLS compliance for all cross-org queries

Interfaces

findMembershipsByUserId(userId)
findMembershipByUserAndOrg(userId, orgId)
createMembership(membershipData)
updateMembership(membershipId, updates)
deleteMembership(membershipId)
setActiveContext(userId, orgId)
getPrimaryMembership(userId)
getActivitiesAcrossOrgs(userId, filters)
countMembershipsByUser(userId)