Перейти к содержимому

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Запустить → результат во вкладке Задания.