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

Description

Data access layer for the user_organization_unit_assignments junction table. Manages user-to-unit relationships including the is_primary flag. Supports batch inserts for initial hierarchy setup and enforces uniqueness constraints at the query level before hitting the database.

Feature: Organizational Hierarchy & Structure Management

unit-assignment-repository

Responsibilities

  • CRUD operations on user_organization_unit_assignments table
  • Enforce unique primary assignment per user per organization before insert
  • Batch insert assignments for bulk user setup
  • Provide user counts per unit for admin displays

Interfaces

fetchByUser(userId, organizationId)
fetchByUnit(unitId)
insert(userId, unitId, isPrimary)
updatePrimary(userId, unitId, isPrimary)
delete(userId, unitId)
countByUnit(unitId)
batchInsert(assignments)

Relationships

Dependents (2)

Components that depend on this component

Related Data Entities (1)

Data entities managed by this component

API Contract

View full contract →
REST /api/v1/unit-assignment-records 5 endpoints
GET /api/v1/unit-assignment-records Fetch all assignment records with optional filters
GET /api/v1/unit-assignment-records/{assignmentId} Fetch a single assignment record by ID
POST /api/v1/unit-assignment-records Insert a new assignment record
PUT /api/v1/unit-assignment-records/{assignmentId} Update is_primary flag on an assignment
DELETE /api/v1/unit-assignment-records/{assignmentId} Delete an assignment record