API: Администрирование
API: Администрирование
Только portal_admin. Базовый путь: /api/v1/admin.
GET /admin/dashboard
Статистика заданий, служб, журнал аудита.
GET /admin/settings/ldap-status
Статус LDAP: configured, connected, url, baseDn, error.
Синхронизация AD (фильтр LDAP)
GET /admin/settings/ldap-sync
Текущие настройки фильтра для службы ad-sync:
syncFilter— значение из админки (пустая строка = использовать.env)syncLimit— лимит записей за один проходeffectiveSyncFilter,effectiveSyncLimit— фактически применяемые значенияenvDefaultSyncFilter,envDefaultSyncLimit— значения изLDAP_SYNC_FILTER/LDAP_SYNC_LIMIT
PUT /admin/settings/ldap-sync
{ "syncFilter": "(objectClass=inetOrgPerson)", "syncLimit": 500}Пустой syncFilter сбрасывает переопределение и возвращает использование значения из .env.
SMTP / почта
GET /admin/settings/smtp
Текущие настройки (пароль не возвращается, только hasPassword).
PUT /admin/settings/smtp
{ "host": "smtp.company.local", "port": 587, "secure": false, "user": "portal@company.local", "password": "secret", "fromEmail": "portal@company.local", "fromName": "Portal", "replyTo": "", "allowAuthenticatedSend": false}GET /admin/settings/smtp-status
Проверка подключения к SMTP.
POST /admin/settings/smtp/test
{ "to": "admin@company.local" }Подробнее: mail.md.
Пользователи
GET /admin/users?q=&page=1&limit=50
Список пользователей (local + domain).
POST /admin/users
Создать локального пользователя:
{ "login": "user1", "password": "secret123", "displayName": "Иван Иванов", "email": "ivan@company.local", "isPortalAdmin": false}PATCH /admin/users/{id}
{ "displayName": "Новое имя", "email": "new@mail.local", "isActive": true, "isPortalAdmin": false}POST /admin/users/{id}/reset-password
Только для auth_source: local:
{ "password": "new_secret" }UI
Узел Админка портала → вкладки Пользователи, Настройки, Службы.
Синхронизация AD: включить службу ad-sync → Запустить → результат во вкладке Задания.