Admin Service

NestJS:8004Core

The Admin Service is the central authority for user management, organizational hierarchy, and permissions. It manages RBAC, delegation, and serves as the session management hub via RabbitMQ.

Key Features

  • User Management — CRUD operations for user accounts
  • Organizational Hierarchy — Department and unit management
  • Role-Based Access Control — Define and assign roles and permissions
  • Delegation System — Temporary permission delegation between users
  • Excel Export — Export organizational data to Excel files
  • Session Management — Active session tracking via RabbitMQ events
  • Multi-Tenant — Full tenant isolation with dynamic DB connections

API Endpoints

GET
/api/admin/users

List users with filters and pagination

POST
/api/admin/users

Create new user

GET
/api/admin/users/:id

Get user details

PUT
/api/admin/users/:id

Update user

GET
/api/admin/roles

List available roles

POST
/api/admin/roles

Create new role

GET
/api/admin/hierarchy

Get organizational hierarchy

POST
/api/admin/delegation

Create user delegation

DELETE
/api/admin/delegation/:id

Cancel delegation

Configuration

NameTypeDefaultDescription
PORTnumber8004Service listening port
DB_HOSTstringlocalhostMSSQL server host
DB_USERNAMEstring-Database username
DB_PASSWORDstring-Database password
RABBITMQ_URISstring-RabbitMQ connection URIs
REDIS_HOSTstringlocalhostRedis host

RabbitMQ Integration

Publishes to:

  • notify.delegation_created.requested — When a delegation is created
  • notify.delegation_cancelled.requested — When a delegation is cancelled
  • notify.correspondence_permission_changed.requested — Permission changes

Consumes from:

  • session_manager exchange — Session lifecycle events

Dependencies

  • Tenant Service — Tenant configuration
  • Identity Service — Token verification, user identity