refactor chat delivery to graphql + hatchet services

This commit is contained in:
Ruslan Bakiev
2026-03-08 18:55:58 +07:00
parent fe4bd59248
commit 7d1bed0d67
61 changed files with 5007 additions and 5004 deletions

35
backend/README.md Normal file
View File

@@ -0,0 +1,35 @@
# backend
Core CRM/omni-домен с единственной Prisma-базой.
## Назначение
- принимает входящие telegram-события через GraphQL mutation `ingestTelegramInbound`;
- создает исходящую задачу через GraphQL mutation `requestTelegramOutbound``telegram_backend`, далее в Hatchet);
- принимает отчет о доставке через GraphQL mutation `reportTelegramOutbound`.
## API
- `GET /health`
- `POST /graphql`
## GraphQL auth
Если задан `BACKEND_GRAPHQL_SHARED_SECRET`, запросы на `/graphql` должны содержать заголовок:
- `x-graphql-secret: <BACKEND_GRAPHQL_SHARED_SECRET>`
## Переменные окружения
- `PORT` (default: `8090`)
- `MAX_BODY_SIZE_BYTES` (default: `2097152`)
- `BACKEND_GRAPHQL_SHARED_SECRET` (optional)
- `TELEGRAM_BACKEND_GRAPHQL_URL` (required для `requestTelegramOutbound`)
- `TELEGRAM_BACKEND_GRAPHQL_SHARED_SECRET` (optional)
- `DEFAULT_TEAM_ID` (optional fallback для inbound маршрутизации)
## Prisma policy
- Источник схемы: `Frontend/prisma/schema.prisma`.
- Локальная копия в `backend/prisma/schema.prisma` обновляется только через `scripts/prisma-sync.sh`.
- Миграции/`db push` выполняются только в `Frontend`.