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/usersList users with filters and pagination
POST
/api/admin/usersCreate new user
GET
/api/admin/users/:idGet user details
PUT
/api/admin/users/:idUpdate user
GET
/api/admin/rolesList available roles
POST
/api/admin/rolesCreate new role
GET
/api/admin/hierarchyGet organizational hierarchy
POST
/api/admin/delegationCreate user delegation
DELETE
/api/admin/delegation/:idCancel delegation
Configuration
| Name | Type | Default | Description |
|---|---|---|---|
| PORT | number | 8004 | Service listening port |
| DB_HOST | string | localhost | MSSQL server host |
| DB_USERNAME | string | - | Database username |
| DB_PASSWORD | string | - | Database password |
| RABBITMQ_URIS | string | - | RabbitMQ connection URIs |
| REDIS_HOST | string | localhost | Redis host |
RabbitMQ Integration
Publishes to:
notify.delegation_created.requested— When a delegation is creatednotify.delegation_cancelled.requested— When a delegation is cancellednotify.correspondence_permission_changed.requested— Permission changes
Consumes from:
session_managerexchange — Session lifecycle events
Dependencies
- Tenant Service — Tenant configuration
- Identity Service — Token verification, user identity