Service Layer high complexity backend
4
Dependencies
4
Dependents
5
Entities
0
Integrations

Description

Backend service encapsulating all business logic for user lifecycle management: invitation dispatch, profile updates, deactivation, and cross-tenancy access control. Enforces org-scoped operations for org admins and elevated read-only access for global admins with mandatory audit logging.

Feature: User CRUD

user-management-service

Responsibilities

  • Issue tokenized invitation emails with 72-hour expiry via notification infrastructure
  • Enforce organization-scoped multi-tenancy on all user queries and mutations
  • Deactivate users by setting is_active flag and invalidating active sessions
  • Provide paginated, filterable user listing with indexed PostgreSQL queries
  • Log all global admin read access to audit_logs for compliance

Interfaces

inviteUser(request: UserInviteRequest, adminContext: AdminContext): Promise<InviteResult>
listUsers(orgId: string, params: UserListParams): Promise<PaginatedUsers>
getUserById(userId: string, adminContext: AdminContext): Promise<UserDetail>
updateUserProfile(userId: string, updates: UserProfileUpdate, adminContext: AdminContext): Promise<User>
deactivateUser(userId: string, adminContext: AdminContext): Promise<void>
validateInviteToken(token: string): Promise<TokenValidationResult>