feat(guilds): встроенные шаблоны серверов

- каталог шаблонов «Пустой», «Сообщество», «Игровой» (AGENT.md 7.3): роли,
  категории, текстовые и голосовые комнаты без сообщений
- POST /guilds принимает template_id, неизвестный шаблон отклоняется; аудит
  фиксирует выбранный шаблон
- GET /guild-templates отдаёт каталог с предпросмотром структуры
- клиент: выбор шаблона в окне создания сервера
- тесты: Go (структура каждого шаблона) и Vitest (выбор шаблона)
This commit is contained in:
2026-09-21 18:04:52 +03:00
parent a36ee9527b
commit 91f415e36d
9 changed files with 572 additions and 15 deletions
+2 -1
View File
@@ -337,6 +337,7 @@ describe('основной экран', () => {
const createCall = recordedRequests(fetchMock).find(
(request) => request.url.endsWith('/api/v1/guilds') && request.method === 'POST',
);
expect(createCall?.body).toEqual({ name: 'Новый' });
// Шаблон по умолчанию — «Пустой»: структура комнат и ролей (AGENT.md 7.3).
expect(createCall?.body).toEqual({ name: 'Новый', template_id: 'empty' });
});
});