tipfeat
sustavfenix-v4
git_commitfa3ae97
sto_trebaIntegrirati chat modul za komunikaciju računovođa ↔ komitent. Ne WhatsApp — vlastiti sustav. Ne novi Django app — proširiti komitenti modul.
sto_je_napravljeno{
"backend": {
"fajl": "komitenti/django_api_urls.py",
"novo": [
"KomitentChatPorukaView — POST /api/v4/komitenti/<id>/chat/poruka/",
"KomitentChatPovijestView — GET /api/v4/komitenti/<id>/chat/povijest/",
"Redis db=7 za chat poruke (ključ: fenix:chat:km:{komitent_pk})",
"ZAKON 26: ChatPorukaIn, ChatPorukaOut, ChatPovijestOut TypedDicts",
"TTL: 90 dana, max 200 poruka po komitentivida (FIFO trim)"
]
},
"frontend": {
"fajl": "templates/komitenti
arhitektura{
"storage": "Redis db=7 — brzi, bez migracija, 90-day TTL",
"isolation": "komitent_pk + partner_company FK — tenant izolirano",
"pattern": "inspiriran genesis chat.js (tahograf), ali self-contained u fenix-v4",
"zakoni": [
"ZAKON 26 — TypedDict",
"ZAKON 27 — NIJE potrebno (bez Django modela)",
"ZAKON 29 — CSS vars"
]
}
buducnost_3{
"tech": {
"naziv": "Genesis Chat Bridge — SSE/streaming",
"opis": "Sync poruke prema genesis fleet API (Celery task) + Server-Sent Events za real-time prikaz bez pollinga. EventSource('/api/v4/komitenti/<id>/chat/stream/')",
"prioritet": "FUTURE"
},
"sigurnost": {
"naziv": "Krunica hash na svakoj poruci (ZAKON 43)",
"opis": "Svaka chat poruka nosi krunica_hash (SHA3-256 sadržaja + pošiljatelj + timestamp). Poruke su immutable — edit nije moguć, samo nova poruka. Audit
test{
"manage_check": "0 greška",
"gunicorn": "active (fa3ae97)",
"http_test": "301 redirect na /hr/login/ — OK"
}