Interface McpAdminService


public interface McpAdminService
WS-интерфейс администрирования MCP: управление токенами доступа (выпуск, обновление, скоупы, включение/выключение, удаление) и работа с журналом вызовов инструментов.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Очистить журнал: удалить записи, старше срока хранения, заданного параметром mcp.log.retention.days.
    logSearch(McpLogFilter filter, Page page)
    Поиск по журналу вызовов инструментов по заданному фильтру.
    void
    tokenDelete(int id)
    Удалить токен вместе с принадлежащими ему скоупами.
    tokenGet(int id)
    Строка одного токена для панели админки, скоупы тоже заполнены.
    tokenIssue(String title, int userId, int rateLimit, LocalDateTime expires, String comment, List<McpScopeInfo> scopes)
    Выпустить новый токен доступа.
    Список токенов доступа для панели админки.
    tokenReissue(int id)
    Перевыпустить токен: старый секрет перестаёт работать, возвращается новый сырой токен (единственный показ).
    void
    tokenScopesSet(int id, List<McpScopeInfo> scopes)
    Полностью заменить скоупы токена: старые удаляются, новые вставляются в одной транзакции.
    void
    tokenSetEnabled(int id, boolean enabled)
    Включить или выключить токен без удаления.
    void
    tokenUpdate(int id, String title, int userId, int rateLimit, LocalDateTime expires, String comment)
    Изменить поля токена (заголовок, владелец, лимит, срок, комментарий).
  • Method Details

    • tokenList

      List<McpTokenInfo> tokenList() throws ru.bitel.bgbilling.common.BGException
      Список токенов доступа для панели админки. У каждого токена заполнены скоупы (scopes), без них невозможно показать набор разрешённых прав в таблице.
      Returns:
      строки токенов для админки
      Throws:
      ru.bitel.bgbilling.common.BGException - при ошибке доступа к данным
    • tokenGet

      McpTokenInfo tokenGet(int id) throws ru.bitel.bgbilling.common.BGException
      Строка одного токена для панели админки, скоупы тоже заполнены.
      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 &le; 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

      void tokenScopesSet(int id, List<McpScopeInfo> scopes) throws ru.bitel.bgbilling.common.BGException
      Полностью заменить скоупы токена: старые удаляются, новые вставляются в одной транзакции.
      Parameters:
      id - идентификатор токена
      scopes - новый набор скоупов; пустой список — снять все права
      Throws:
      ru.bitel.bgbilling.common.BGException - если токен не найден или при ошибке
    • tokenReissue

      String tokenReissue(int id) throws ru.bitel.bgbilling.common.BGException
      Перевыпустить токен: старый секрет перестаёт работать, возвращается новый сырой токен (единственный показ). Идентификатор и скоупы сохраняются.
      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 - при ошибке доступа к данным