users отвечает за профиль текущего пользователя (получение данных, настройка 2FA, загрузка косметики), а также за публичное получение профилей по ID и имени.
Путь: trpc.users.*
Процедуры
getMy
Получение профиля текущего пользователя.- Тип:
query - Доступ:
protectedProcedure
ID пользователя
Имя пользователя
Email
Подтверждён ли email
URL аватара
URL скина
URL плаща
Дата регистрации
Заблокирован ли аккаунт
startTotpSetup
Начало настройки двухфакторной аутентификации. Генерирует секрет и QR-код.- Тип:
mutation - Доступ:
protectedProcedure
TOTP-секрет для ручного ввода
URL для генерации QR-кода (otpauth://)
confirmTotpSetup
Подтверждение настройки 2FA. Пользователь вводит код из приложения-аутентификатора.- Тип:
mutation - Доступ:
protectedProcedure
6-значный TOTP-код
Признак успешного подтверждения
Список из 8 одноразовых резервных кодов (формат
XXXXX-XXXXX)disableTotp
Отключение двухфакторной аутентификации. Подтверждается кодом из приложения или резервным кодом — нужно указать хотя бы одно из полей.- Тип:
mutation - Доступ:
protectedProcedure
6-значный TOTP-код для подтверждения
Резервный код (от 8 до 64 символов)
Признак успешного отключения
getById
Публичное получение профиля пользователя по ID.- Тип:
query - Доступ:
publicProcedure
ID пользователя
ID пользователя
Имя пользователя
URL аватара
URL скина
URL плаща
Дата регистрации
getByUsername
Публичное получение профиля пользователя по имени.- Тип:
query - Доступ:
publicProcedure
Имя пользователя
getById (id, username, avatar, skin, cape, createdAt).
profile
Полный профиль текущего пользователя: основные данные, кошелёк, привилегии, статистика онлайна, активность, методы 2FA и привязанные аккаунты.- Тип:
query - Доступ:
protectedProcedure
Данные пользователя:
id, uuid, username, email, verified, avatar, skin, cape, createdAt, lastPasswordChangeAt, isBannedКошелёк:
balance (number), updatedAt (Date | null)Привилегии пользователя:
id, privilegeId, privilegeName, displayName, serverId, serverName, icon, color, grantedAt, expiresAtЧасы онлайна по периодам (ключ — период, значение — число часов)
Последние записи активности (до 50):
id, type, label, details, metadata, occurredAt, createdAtМетоды 2FA:
id, method, enabled, lastUsedAt, createdAt, updatedAtПривязанные аккаунты:
id, provider, providerUserId, metadata, linkedAt, updatedAtuploadCosmetic
Загрузка косметики (аватар, скин или плащ). Файл передаётся в base64, сохраняется в хранилище, после чего URL записывается в профиль.- Тип:
mutation - Доступ:
protectedProcedure
Тип косметики
Имя исходного файла
MIME-тип файла (допустимы только
image/png, image/jpeg, image/gif, image/webp)Содержимое файла в base64 (максимум 2 МБ)
Публичный URL загруженного файла