modules отвечает за управление модульной системой: список модулей, включение/выключение, настройки. Также содержит динамические роутеры, зарегистрированные модулями (например, forum, referrals).
Путь: trpc.modules.*
Процедуры
list
Получение списка всех зарегистрированных модулей.- Тип:
query - Доступ:
adminProcedure
ModuleInfo:
Уникальный идентификатор модуля
Название модуля
Версия модуля
Описание модуля
Включён ли модуль
Текущие настройки модуля
get
Получение информации о конкретном модуле.- Тип:
query - Доступ:
adminProcedure
ID модуля
ID модуля
Название
Версия
Описание
Включён ли
Текущие настройки
Схема настроек (типы полей, валидация)
setEnabled
Включение или выключение модуля.- Тип:
mutation - Доступ:
adminProcedure
ID модуля
Включить (
true) или выключить (false)Успешность операции
Сообщение об ошибке (возвращается вместе с
success: false, если реестр модулей не инициализирован)updateSettings
Обновление настроек модуля.- Тип:
mutation - Доступ:
adminProcedure
ID модуля
Объект с новыми настройками
Успешность операции
Сообщение об ошибке (возвращается вместе с
success: false, если реестр модулей не инициализирован)getAdminNav
Получение пунктов навигации для админ-панели, зарегистрированных модулями.- Тип:
query - Доступ:
adminProcedure
ID пункта меню
Текст пункта
Ссылка
Иконка (Lucide)
Требуемое право доступа
Описание пункта меню
Порядок сортировки пункта в меню
Динамические роутеры модулей
Каждый модуль может зарегистрировать свой tRPC-роутер. Он будет доступен по путиtrpc.modules.<routerKey>.*.
Например, модуль referrals с routerKey: 'referrals':
forum с routerKey: 'forum':
Динамические роутеры доступны только если модуль включён. Если модуль выключен, его роутер всё ещё зарегистрирован в системе типов, но может возвращать ошибки.