feat(invites): приглашения, каталог публичных серверов и публичность сервера
- POST /guilds/{id}/invites (CREATE_INVITES): код из 10 символов, лимит
использований и срок жизни; GET /guilds/{id}/invites (MANAGE_GUILD);
DELETE /invites/{code} — создатель или MANAGE_GUILD;
- GET /invites/{code} — предпросмотр с карточкой сервера, 410 для истёкших и
исчерпанных; POST /invites/{code} — принятие с проверкой лимита участников,
повторное принятие не расходует использование;
- PATCH /guilds/{id} принимает `public`: сервер попадает в каталог и открыт для
входа без приглашения (главный сервер публиковать нельзя);
- GET /guilds/public — каталог (имя, описание, иконка, число участников);
- аудит invite.create/invite.revoke/invite.accept, события INVITE_CREATE и
INVITE_DELETE владельцу сессии;
- тесты: полный жизненный цикл приглашения, исчерпание, отзыв, права,
публичный каталог и вход в публичный сервер.
This commit is contained in:
@@ -183,6 +183,7 @@
|
||||
"empty": "В этом сервере пока нет видимых комнат.",
|
||||
"select": "Открыть комнату {{name}}",
|
||||
"add": "Создать комнату",
|
||||
"settings": "Настройки сервера",
|
||||
"create": {
|
||||
"title": "Новая комната",
|
||||
"name": "Название комнаты",
|
||||
@@ -214,6 +215,13 @@
|
||||
"user": {
|
||||
"panelLabel": "Панель пользователя",
|
||||
"settings": "Настройки пользователя",
|
||||
"menu": {
|
||||
"label": "Меню пользователя",
|
||||
"open": "Открыть меню пользователя",
|
||||
"account": "Настройки аккаунта",
|
||||
"guilds": "Настройки серверов",
|
||||
"status": "Статус"
|
||||
},
|
||||
"logout": "Выйти",
|
||||
"loggingOut": "Выходим…",
|
||||
"statusLabel": "Статус: {{status}}",
|
||||
@@ -240,6 +248,11 @@
|
||||
"settings": {
|
||||
"title": "Настройки",
|
||||
"back": "В приложение",
|
||||
"switcher": {
|
||||
"label": "Разделы настроек",
|
||||
"account": "Настройки сервера",
|
||||
"servers": "Мои серверы"
|
||||
},
|
||||
"tabs": {
|
||||
"label": "Разделы настроек",
|
||||
"profile": "Профиль",
|
||||
@@ -331,6 +344,61 @@
|
||||
"memberCount": "{{count}} участн.",
|
||||
"adminBadge": "админ",
|
||||
"mainBadge": "главный"
|
||||
},
|
||||
"servers": {
|
||||
"pickerLabel": "Мои серверы",
|
||||
"empty": "У вас пока нет серверов.",
|
||||
"emptyTitle": "Пока нет ни одного сервера",
|
||||
"emptyHint": "Присоединитесь к главному серверу инстанса или создайте свой — тогда здесь появятся его настройки.",
|
||||
"select": "Открыть настройки сервера {{name}}",
|
||||
"notFound": "Сервер не найден среди доступных вам.",
|
||||
"readOnlyHint": "Редактирование доступно владельцу сервера и участникам с правами ADMINISTRATOR или MANAGE_GUILD.",
|
||||
"general": {
|
||||
"title": "Общее",
|
||||
"description": "Название и описание сервера видят все участники.",
|
||||
"name": "Название сервера",
|
||||
"guildDescription": "Описание",
|
||||
"descriptionPlaceholder": "О чём этот сервер",
|
||||
"saved": "Настройки сервера сохранены."
|
||||
},
|
||||
"nickname": {
|
||||
"title": "Мой профиль на сервере",
|
||||
"description": "Никнейм виден только на этом сервере.",
|
||||
"label": "Никнейм",
|
||||
"placeholder": "Оставьте пустым, чтобы сбросить ник",
|
||||
"current": "Текущий никнейм:",
|
||||
"none": "не задан",
|
||||
"saved": "Никнейм сохранён."
|
||||
},
|
||||
"members": {
|
||||
"title": "Участники",
|
||||
"description": "Первые {{limit}} участников сервера.",
|
||||
"empty": "Участники не найдены.",
|
||||
"roles": "Ролей: {{roles}}",
|
||||
"more": "Полный список участников с ролями появится в следующих фазах."
|
||||
},
|
||||
"roles": {
|
||||
"title": "Роли",
|
||||
"description": "Цвет и позиция ролей. Управление ролями появится в следующих фазах.",
|
||||
"empty": "На сервере пока нет ролей.",
|
||||
"position": "Позиция {{position}}",
|
||||
"default": "по умолчанию"
|
||||
},
|
||||
"danger": {
|
||||
"title": "Опасная зона",
|
||||
"description": "Эти действия необратимы.",
|
||||
"leaveOwnerHint": "Владелец не может покинуть свой сервер: сначала передайте владение или удалите сервер.",
|
||||
"leaveHint": "Выйти из сервера и потерять доступ к его комнатам.",
|
||||
"leave": "Покинуть сервер",
|
||||
"leaveConfirmTitle": "Покинуть сервер?",
|
||||
"leaveConfirmBody": "Вы выйдете из сервера «{{name}}». Вернуться можно будет по приглашению.",
|
||||
"leaveConfirm": "Покинуть",
|
||||
"deleteHint": "Удалить сервер вместе с комнатами, ролями и участниками.",
|
||||
"delete": "Удалить сервер",
|
||||
"deleteConfirmTitle": "Удалить сервер?",
|
||||
"deleteConfirmBody": "Сервер «{{name}}» будет удалён без возможности восстановления.",
|
||||
"deleteConfirm": "Удалить"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user