Files
aiform_dev/frontend
AI Assistant 577611c65d refactor: Load claim confirmation data from DB instead of SSE for drafts
Problem:
- When draft is fully filled, we subscribed to Redis SSE channel claim:plan
- But all data already exists in PostgreSQL database
- No need to wait for n8n to publish data - we can load it directly

Solution:
1. Removed subscribeToClaimPlanForDraft() function
   - No longer subscribes to SSE channel for drafts
   - Removed EventSource cleanup code

2. Added transformDraftToClaimPlanFormat() function
   - Transforms draft data from DB format to propertyName format
   - Extracts data from payload/body (telegram/web_form formats)
   - Maps documents_meta to attachments array
   - Formats applicant, case, contract_or_service, offenders, claim, meta
   - Returns data in array format expected by confirmation form

3. Updated loadDraft() logic:
   - When draft is ready for confirmation (all steps filled + draft status)
   - Calls transformDraftToClaimPlanFormat() instead of subscribing to SSE
   - Immediately shows confirmation form with data from DB

Flow:
1. User selects fully filled draft
2. System checks completeness (description, plan, answers, documents)
3. If ready → transforms DB data to propertyName format
4. Shows confirmation form immediately (no SSE wait)

Benefits:
-  Faster: no waiting for n8n to publish data
-  More reliable: data always available from DB
-  Simpler: no SSE connection management for drafts
-  Works offline: doesn't depend on Redis pub/sub

Files:
- frontend/src/pages/ClaimForm.tsx: Added transform function, removed SSE subscription
2025-11-24 15:08:00 +03:00
..