{"id":"c1134","filename":"c1134_css_js_hook_zastita.dok.json","weise3_id":"c1134","tip":"INFRASTRUKTURA_SIGURNOST","naziv":"Pre-commit + pre-receive hookovi — zaštita CSS/JS od slučajnog brisanja","kreator":"CC + Ivan","datum":"2026-05-24","snippet":"","status":"","prev_weise3":"","bunker_l":"#00d4ff","full":{"tip":"INFRASTRUKTURA_SIGURNOST","naziv":"Pre-commit + pre-receive hookovi — zaštita CSS/JS od slučajnog brisanja","datum":"2026-05-24","autor":"CC + Ivan","kontekst":"Isti bug se desio 3 puta: Antonio test session, Konjik commit, i svaki put git add -A pobriše 50 CSS/JS fajlova iz static/. Rješenje: dva neovisna git hooka.","faze":[{"naziv":"P1 — pre-commit hook na NEW serveru (fina-connect)","status":"DONE","opis":"Blokira git commit ako se brišu static/css/*.css ili static/js/*.js. Nadograđen postojeći hook koji već ima FENIX_STATUS.md podsjetnik. Testiran: git rm --cached static/css/fenix-tokens.css + git commit → BLOKIRAN.","lokacija":"/var/www/fina-connect/.git/hooks/pre-commit","server":"NEW (31.70.90.84)"},{"naziv":"P2 — pre-receive hook na MAR serveru (fenix-v3 bare repo)","status":"DONE","opis":"MAR je deployment target — nema razvojnog .git repoa, samo bare repo na /var/www/fenix-v3.git/. Dodan pre-receive koji čita OLD_SHA → NEW_SHA diff i odbija push ako sadrži brisanje *.css ili *.js iz static/ direktorija.","lokacija":"/var/www/fenix-v3.git/hooks/pre-receive","server":"MAR (212.227.181.201)"}],"tok_zastite":["dev → git commit (NEW) → [pre-commit blokira ako briše CSS/JS]","dev → git push MAR → [pre-receive blokira ako dolazi brisanje CSS/JS]","Dva neovisna sloja — --no-verify na NEW ne zaobilazi MAR pre-receive"],"napomena":".git/hooks/ nije dio repozitorija (git ignores .git/) — hookovi se ne propagiraju automatski na nove klone. Ako se repo klonira iznova, treba ručno kopirati hooks.","zakoni":["ZAKON 32"],"prethodni_entry":"c1133_upload_arhiva_racuna_css_fix.dok.json","weise3_id":"c1134","created_at":"2026-05-24T00:00:00Z"}}