mirror of
https://github.com/dartdavros/chatballs.git
synced 2026-10-05 01:14:58 +03:00
✨ feat(setup)!: мастер первого запуска и демо-набор «Ателье Норд» с точным удалением
Open source: «развернуть за минуту». Никаких параметров в .env и CLI — при пустом инстансе браузер показывает мастер (/api/v1/setup/): название организации, имя, e-mail, пароль владельца и флаг «Установить демо-данные». Запись идёт на соединении platform (роль app не создаёт организации) через tenancy/routing.use_database; после первого владельца мастер закрыт (409). bootstrap_owner и захардкоженные Edevs/Котова из установки удалены (bootstrap_edevs_owner остаётся тестовым helper'ом). Демо ставится в организацию установщика; реестр DemoRecord (post_save во время сида) даёт точное удаление в обратном порядке с разрывом PROTECT-циклов только между демо-объектами. Установка/удаление — outbox → worker; статус и витринные учётки (админ + сотрудники разных групп, пароль Chatbolls-Demo-2026) — карточка «Демо-данные» в «Настройках» (/company/demo/). Сид переписан под дизайн-базлайн v2 («Ателье Норд»): 6 сотрудников (группы, блокировка, TOTP, приглашения), 4 агента (активные/черновик/выключенный), подключения TG/MAX/почта/два веб-виджета (анонимный и авторизованный) с ошибкой у одного, знания с иерархией категорий и вложениями (md/txt/pdf), 30 дней истории LLM, 13 диалогов во всех состояниях с метками, приоритетами, заметками, ответственными, историей контакта, спамом и архивом, веб-гость через настоящую сессию виджета, шаблоны «/», портал поддержки со статьями (опубликованные/черновик/архив, вторая ревизия, оценки), звонки с метриками и приглашением, уведомления всех типов, привязки уведомителя. Аватары контактов — портреты владельца, публичный /api/v1/demo-media/. Голосовые — слоты под клипы владельца (media/voice/README.md). Тест покрытия: каждая модель hub_platform получает демо-запись; удаление возвращает счётчики к исходным. compose-профиль demo-seed и seed-demo.ps1 удалены; seed_demo --organization --apply/--remove для разработки; start.sh для Linux/macOS; README — раздел «Быстрый старт». Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
1 parent
b2e9d120a6
commit
0ca9eb865f
59 files changed
+4001
-1398
No files matched your search
@@ -118,32 +118,6 @@ services:
|
||||
- /app/node_modules
|
||||
- /app/apps/web-chat/node_modules
|
||||
|
||||
# Явный одноразовый импорт демонстрационных данных. Сервис существует только
|
||||
# в compose.dev.yaml, профилем не включается в обычный `up`. Данные живут в
|
||||
# backend image (management-команда seed_demo), отдельный bind-mount не нужен.
|
||||
demo-seed:
|
||||
profiles: ["demo-seed"]
|
||||
build:
|
||||
context: .
|
||||
dockerfile: apps/backend/Dockerfile
|
||||
env_file:
|
||||
- .env
|
||||
command: ["python", "manage.py", "seed_demo", "--apply"]
|
||||
working_dir: /app/apps/backend
|
||||
environment:
|
||||
CUS_DB_ROLE: migration
|
||||
CUS_DELIVERY_MODE: ${CUS_DELIVERY_MODE:-CLOUD}
|
||||
CUS_HELP_BASE_DOMAIN: localhost
|
||||
CUS_HELP_PUBLIC_SCHEME: http
|
||||
CUS_HELP_PUBLIC_PORT: ""
|
||||
volumes:
|
||||
- ./apps/backend:/app/apps/backend
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
|
||||
# Dev: gateway — nginx с local.conf вместо Caddy (та же маршрутизация, HMR-friendly).
|
||||
gateway:
|
||||
image: nginx:1.27-alpine
|
||||
|
||||
Reference in new issue
Block a user