Interface McpAdminService
public interface McpAdminService
WS-интерфейс администрирования MCP: управление токенами доступа
(выпуск, обновление, скоупы, включение/выключение, удаление) и
работа с журналом вызовов инструментов.
-
Method Summary
Modifier and TypeMethodDescriptionintlogClear()Очистить журнал: удалить записи, старше срока хранения, заданного параметромmcp.log.retention.days.logSearch(McpLogFilter filter, Page page) Поиск по журналу вызовов инструментов по заданному фильтру.voidtokenDelete(int id) Удалить токен вместе с принадлежащими ему скоупами.tokenGet(int id) Строка одного токена для панели админки, скоупы тоже заполнены.tokenIssue(String title, int userId, int rateLimit, LocalDateTime expires, String comment, List<McpScopeInfo> scopes) Выпустить новый токен доступа.Список токенов доступа для панели админки.tokenReissue(int id) Перевыпустить токен: старый секрет перестаёт работать, возвращается новый сырой токен (единственный показ).voidtokenScopesSet(int id, List<McpScopeInfo> scopes) Полностью заменить скоупы токена: старые удаляются, новые вставляются в одной транзакции.voidtokenSetEnabled(int id, boolean enabled) Включить или выключить токен без удаления.voidtokenUpdate(int id, String title, int userId, int rateLimit, LocalDateTime expires, String comment) Изменить поля токена (заголовок, владелец, лимит, срок, комментарий).
-
Method Details
-
tokenList
Список токенов доступа для панели админки. У каждого токена заполнены скоупы (scopes), без них невозможно показать набор разрешённых прав в таблице.- Returns:
- строки токенов для админки
- Throws:
ru.bitel.bgbilling.common.BGException- при ошибке доступа к данным
-
tokenGet
Строка одного токена для панели админки, скоупы тоже заполнены.- Parameters:
id- идентификатор токена- Returns:
- информация о токене
- Throws:
ru.bitel.bgbilling.common.BGException- если токен не существует или при ошибке доступа к данным
-
tokenIssue
String tokenIssue(String title, int userId, int rateLimit, LocalDateTime expires, String comment, List<McpScopeInfo> scopes) throws ru.bitel.bgbilling.common.BGException Выпустить новый токен доступа. Возвращает сырой токен: показывается оператору ровно один раз и повторно получить его нельзя.- Parameters:
title- заголовок токена; пустое значение — ошибкаuserId- идентификатор пользователя — владельца; ≤ 0 — ошибкаrateLimit- лимит вызовов; 0 — без ограниченияexpires- дата истечения;null— токен бессрочныйcomment- комментарий, по желаниюscopes- скоупы;nullдопускается (токен без прав)- Returns:
- сырой токен (единственный показ)
- Throws:
ru.bitel.bgbilling.common.BGException- еслиtitleпустой илиuserId ≤ 0, либо при ошибке
-
tokenUpdate
void tokenUpdate(int id, String title, int userId, int rateLimit, LocalDateTime expires, String comment) throws ru.bitel.bgbilling.common.BGException Изменить поля токена (заголовок, владелец, лимит, срок, комментарий). Секрет и скоупы при этом не изменяются.- Parameters:
id- идентификатор токенаtitle- заголовок; пустое значение — ошибкаuserId- идентификатель владельца; ≤ 0 — ошибкаrateLimit- лимит вызовов; 0 — без ограниченияexpires- дата истечения;null— бессрочныйcomment- комментарий- Throws:
ru.bitel.bgbilling.common.BGException- если проверки не пройдены, токен не найден или при ошибке
-
tokenScopesSet
Полностью заменить скоупы токена: старые удаляются, новые вставляются в одной транзакции.- Parameters:
id- идентификатор токенаscopes- новый набор скоупов; пустой список — снять все права- Throws:
ru.bitel.bgbilling.common.BGException- если токен не найден или при ошибке
-
tokenReissue
Перевыпустить токен: старый секрет перестаёт работать, возвращается новый сырой токен (единственный показ). Идентификатор и скоупы сохраняются.- Parameters:
id- идентификатор токена- Returns:
- новый сырой токен
- Throws:
ru.bitel.bgbilling.common.BGException- если токен не найден или при ошибке
-
tokenSetEnabled
void tokenSetEnabled(int id, boolean enabled) throws ru.bitel.bgbilling.common.BGException Включить или выключить токен без удаления.- Parameters:
id- идентификатор токенаenabled- true — токен активен, false — выключен- Throws:
ru.bitel.bgbilling.common.BGException- если токен не найден или при ошибке
-
tokenDelete
void tokenDelete(int id) throws ru.bitel.bgbilling.common.BGException Удалить токен вместе с принадлежащими ему скоупами.- Parameters:
id- идентификатор токена- Throws:
ru.bitel.bgbilling.common.BGException- если токен не найден или при ошибке
-
logSearch
SearchResult<McpCallLog> logSearch(McpLogFilter filter, Page page) throws ru.bitel.bgbilling.common.BGException Поиск по журналу вызовов инструментов по заданному фильтру. Результат пагинируется черезpage; вrecordCount— общее число найденных записей. Порядок — новые записи сверху.- Parameters:
filter- условия фильтрации (McpLogFilter)page- параметры пагинации- Returns:
- страницы журнала
- Throws:
ru.bitel.bgbilling.common.BGException- при ошибке доступа к данным
-
logClear
int logClear() throws ru.bitel.bgbilling.common.BGExceptionОчистить журнал: удалить записи, старше срока хранения, заданного параметромmcp.log.retention.days.- Returns:
- число удалённых записей
- Throws:
ru.bitel.bgbilling.common.BGException- при ошибке доступа к данным
-