SpaljivanjeStatus enum: none/zahtjev/spaljen/odustano · ArchiveDoc model — 9 novih polja: spaljivanje_status, spaljivanje_zahtjev_at, spaljivanje_scheduled_at, spaljivanje_izvrseno_at, spalio_user_id,
tipimplementacija
specc1238
sesija2026-06-02
sto_je_napravljeno[
"SpaljivanjeStatus enum: none/zahtjev/spaljen/odustano",
"ArchiveDoc model — 9 novih polja: spaljivanje_status, spaljivanje_zahtjev_at, spaljivanje_scheduled_at, spaljivanje_izvrseno_at, spalio_user_id, spali_task_id, tombstone, prnu_intact, zakonski_rok_do",
"ArchiveDoc properties: moze_se_spaliti, spaljivanje_preostalo_sec",
"Alembic migracija b79b323ff0d3 — izvrsena uspjesno",
"Celery task spali_dokument: DoD 5220.22-M (3 prolaska), tombstone u DB i Genesis chain",
"3 FastAPI en
mehanika_s18{
"osigurac_A": "pravo provjereno (company_id match) + trojstvo TODO + eValidator TODO",
"osigurac_B_3_koraka": "1.Namjera=GET info, 2.Razumijevanje=POST potvrda SPALI/naziv, 3.Hladjenje=24h Celery eta",
"zabrana_C": "zakonski_rok_do > now() => HTTP 403",
"tijelo": "DoD 5220.22-M: 3x prepisivanje nasumicnim bajtovima + os.remove()",
"kostur": "hash+potpis+tombstone ostaje u archive_doc zauvijek",
"tombstone_u_chain": "Genesis API /api/v1/docs/upload s tip=tombstone"
}
endpointi[
"GET /api/v4/archive/{doc_id}/spaljivanje-info — Namjera: upozorenje i status",
"POST /api/v4/archive/{doc_id}/zahtjev-spaljivanja — Razumijevanje+Hladjenje: potvrda + eta=+24h",
"POST /api/v4/archive/{doc_id}/odustani-spaljivanja — Prozor kajanja: revoke Celery + reset status"
]
todo[
"UI — 3-step modal (crveni okvir, input SPALI, countdown timer)",
"Trojstvo 2/3 za zahtjev (sada samo vlasnik)",
"eValidator svjedoci izvrsenje",
"PRNU_intact automatski na dokaznim vrstama pri uploadu (rok 11g)"
]
fajlovi[
"fenix-v4/archive/models.py",
"fenix-v4/archive/tasks.py",
"fenix-v4/archive/router.py",
"fenix-v4/migrations/versions/b79b323ff0d3_spaljivanje_polja_archive_doc.py"
]