Commit Graph

10 Commits

Author SHA1 Message Date
AI Assistant
3621ae6021 feat: Session persistence with Redis + Draft management fixes
- Implement session management API (/api/v1/session/create, verify, logout)
- Add session restoration from localStorage on page reload
- Fix session_id priority when loading drafts (use current, not old from DB)
- Add unified_id and claim_id to wizard payload sent to n8n
- Add Docker volume for frontend HMR (Hot Module Replacement)
- Add comprehensive session logging for debugging

Components updated:
- backend/app/api/session.py (NEW) - Session management endpoints
- backend/app/main.py - Include session router
- frontend/src/components/form/Step1Phone.tsx v2.0 - Create session after SMS
- frontend/src/pages/ClaimForm.tsx v3.8 - Session restoration & priority fix
- frontend/src/components/form/StepWizardPlan.tsx v1.4 - Add unified_id/claim_id
- docker-compose.yml - Add frontend volume for live reload

Session flow:
1. User verifies phone -> session created in Redis (24h TTL)
2. session_token saved to localStorage
3. Page reload -> session restored automatically
4. Draft selected -> current session_id used (not old from DB)
5. Wizard submit -> unified_id, claim_id, session_id sent to n8n
6. Logout -> session removed from Redis & localStorage

Fixes:
- Session token not persisting after page reload
- unified_id missing in n8n webhook payload
- Old session_id from draft overwriting current session
- Frontend changes requiring container rebuild
2025-11-20 18:31:42 +03:00
AI Assistant
3306d01e0d Ticket form: new stack + description step 2025-11-14 19:06:36 +03:00
AI Assistant
c049ed6666 fix: Добавлены n8n webhook URLs в docker-compose.yml
- N8N_POLICY_CHECK_WEBHOOK для проверки полиса
- N8N_FILE_UPLOAD_WEBHOOK для загрузки документов
- Backend теперь может проксировать запросы к n8n
2025-11-01 13:41:04 +03:00
AI Assistant
89a182bc7b fix: Интеграция n8n webhook для создания контакта после SMS
- Step1Phone теперь вызывает n8n webhook после SMS верификации
- Webhook создаёт/находит контакт в CRM через CreateWebContact
- Возвращает: contact_id, claim_id, is_new_contact
- Данные сохраняются в formData для дальнейшей работы
- Исправлена нормализация телефона в sms_service (убираем +)
- Отключен rate limiting SMS для тестирования
- Backend подключён к внешнему Redis (crm.clientright.ru:6379)
- Добавлены поля contact_id, is_new_contact в FormData
- Frontend пересобран с новым кодом
2025-11-01 13:31:05 +03:00
AI Assistant
7b554c0ad2 feat: Полный флоу для создания контакта через CreateWebContact
- docker-compose.yml: убраны локальные postgres/redis, только внешние
- Frontend: телефон в формате 79001234567 (без +)
- Готово к интеграции с n8n webhook для создания контакта в CRM
- CreateWebContact: только создание или возврат ID, БЕЗ обновления
2025-10-30 19:22:14 +03:00
AI Assistant
cc880d3485 refactor: Убраны неиспользуемые локальные контейнеры Postgres и Redis\n\n- Backend использует внешний PostgreSQL (147.45.189.234:5432)\n- Backend использует внешний Redis (crm.clientright.ru:6379)\n- Удалены сервисы postgres и redis из docker-compose\n- Удалена зависимость depends_on: postgres\n- Остались только frontend и backend контейнеры\n- Удалены orphan контейнеры 2025-10-30 14:16:15 +03:00
AI Assistant
350ce0c654 fix: N8N webhook URLs переданы в backend через environment\n\n- N8N_POLICY_CHECK_WEBHOOK и N8N_FILE_UPLOAD_WEBHOOK\n- Backend теперь видит webhooks и проксирует запросы\n- Протестировано: /api/n8n/policy/check возвращает 200 OK 2025-10-30 14:13:16 +03:00
AI Assistant
543725324b fix: Backend подключается к внешнему Redis на crm.clientright.ru:6379\n\n- Убран локальный контейнер redis (конфликт порта 6379)\n- REDIS_HOST, REDIS_PORT, REDIS_PASSWORD из .env\n- Postgres обновлён до v16 под существующие данные\n- SMS API работает: 200 OK с debug_code 2025-10-30 14:06:55 +03:00
AI Assistant
f72aa59476 Интеграция SSE + Redis Pub/Sub для real-time OCR результатов
🎯 Основные изменения:

Backend:
- Реализован SSE endpoint /events/{task_id} для real-time стриминга событий
- Интеграция Redis Pub/Sub для получения событий от n8n
- Исправлен путь к .env файлу (абсолютный путь)
- Убран префикс /api/v1 для events router
- Добавлено подробное логирование событий

Frontend:
- Переключён на Vite dev mode для работы proxy
- Настроен proxy /events -> backend:8100
- Реализована модалка с крутилкой при загрузке файла
- SSE клиент для получения OCR результатов в real-time
- Отображение результатов AI анализа в модалке

Docker:
- Frontend: изменён на npm run dev (Vite dev server)
- Добавлен host.docker.internal для доступа к backend
- Настроен proxy в docker-compose

Утилиты:
- monitor_redis_direct.py - мониторинг Redis Pub/Sub
- test_redis_publish_direct.py - тестирование публикации в Redis

🚀 Полная цепочка работает:
Frontend → Backend SSE → Redis Pub/Sub ← n8n → OCR/AI → Result
2025-10-27 19:37:41 +03:00
AI Assistant
0f82eef08d 🚀 MVP: FastAPI + React форма с SMS верификацией
 Инфраструктура: PostgreSQL, Redis, RabbitMQ, S3
 Backend: SMS сервис + API endpoints
 Frontend: React форма (3 шага) + SMS верификация
2025-10-24 16:19:58 +03:00