Data Layer high complexity Shared Component backend
1
Dependencies
2
Dependents
4
Entities
0
Integrations

Description

Data access layer for the full organizational hierarchy including organizations, regions, and local associations. Executes all SQL queries with mandatory tenant-scoping applied at the repository level to prevent cross-organization data leakage. Supports both fine-grained node lookups and bulk hierarchy reads for admin tree rendering.

Feature: Multi-Organization Hierarchy Management

organization-repository

Responsibilities

  • CRUD operations for organizations, regions, and local_associations tables
  • Enforce tenant-scoped queries so no data crosses organizational boundaries
  • Provide efficient tree-loading queries for hierarchy navigation
  • Manage user_organization_roles join table for user-node-role assignments
  • Support bulk seed inserts for known hierarchy initialization at deploy time

Interfaces

findOrganizationById(id: string): Organization
findAllOrganizations(): Organization[]
findRegionsByOrganization(orgId: string): Region[]
findLocalAssociationsByRegion(regionId: string): LocalAssociation[]
findLocalAssociationsByOrganization(orgId: string): LocalAssociation[]
findUserOrganizationRoles(userId: string): UserOrganizationRole[]
upsertUserOrganizationRole(userId: string, orgNodeId: string, roleId: string): void
deleteUserOrganizationRole(userId: string, orgNodeId: string): void
createOrganization(data: OrganizationInput): Organization
updateOrganization(id: string, data: Partial<OrganizationInput>): Organization
createRegion(data: RegionInput): Region
createLocalAssociation(data: LocalAssociationInput): LocalAssociation
getFullHierarchyTree(orgId: string): OrgTreeNode
countNodesAtLevel(orgId: string, level: string): number

Relationships

Dependencies (1)

Components this component depends on

Dependents (2)

Components that depend on this component