Phase 8a+8b: Pre-Commit-Hook fuer shared/-Drift + Audit-UI resource_id-Filter
Phase 8a (Hook): - scripts/git-hooks/pre-commit: prueft bei Commits mit src/shared/-Aenderungen den Drift-Stand via sync_shared.py --check und gibt eine Warnung aus (blockiert NICHT - User entscheidet selbst, ob er zurueck will). - scripts/install-hooks.sh: kopiert Hooks aus scripts/git-hooks/ nach .git/hooks/ (idempotent, ueberspringt user-eigene Hooks). Phase 8b (Audit-UI): - dashboard.html: Resource-ID Eingabefeld neben den anderen Audit-Filtern. - audit.js: Filter-Listen erweitern, params um resource_id ergaenzt (Backend hatte den Filter seit Phase 5 schon). - Damit ist die Audit-Spur einer einzelnen Ressource auch im Audit-Log-Tab filterbar (vorher nur per Direkt-URL bzw. per Quellen-Audit-Modal).
Dieser Commit ist enthalten in:
44
scripts/git-hooks/pre-commit
Ausführbare Datei
44
scripts/git-hooks/pre-commit
Ausführbare Datei
@@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env bash
|
||||
# AegisSight-Verwaltung Pre-Commit-Hook.
|
||||
#
|
||||
# Ueberprueft bei jeder Aenderung in src/shared/ den Drift-Stand gegen das
|
||||
# Monitor-Repo. Gibt eine Warnung aus, BLOCKIERT den Commit aber NICHT -
|
||||
# der User entscheidet selbst, ob er zurueck will.
|
||||
#
|
||||
# Installation: scripts/install-hooks.sh
|
||||
|
||||
REPO_ROOT="$(git rev-parse --show-toplevel)"
|
||||
cd "$REPO_ROOT" || exit 0
|
||||
|
||||
# Nur prüfen wenn shared/ geändert wird
|
||||
if ! git diff --cached --name-only | grep -q '^src/shared/'; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# venv-Python finden
|
||||
PY=""
|
||||
for cand in "venv/bin/python3" "venv/bin/python" "/home/claude-dev/.venvs/verwaltung/bin/python3"; do
|
||||
if [ -x "$cand" ]; then PY="$cand"; break; fi
|
||||
done
|
||||
if [ -z "$PY" ] || [ ! -f "scripts/sync_shared.py" ]; then
|
||||
# Tool nicht verfuegbar - silent durchlassen
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if ! out=$("$PY" scripts/sync_shared.py --check 2>&1); then
|
||||
# --check Exit 1 = auto-syncbarer Drift vorhanden
|
||||
echo ""
|
||||
echo "================================================================"
|
||||
echo " WARNUNG: src/shared/ Drift gegen Monitor-Repo erkannt"
|
||||
echo "================================================================"
|
||||
echo "$out" | head -30
|
||||
echo ""
|
||||
echo " Mehr Details: ./venv/bin/python scripts/sync_shared.py --check"
|
||||
echo " Aufloesen: ./venv/bin/python scripts/sync_shared.py --apply"
|
||||
echo " (oder bewusst forken: LOCKED_FILES in scripts/sync_shared.py)"
|
||||
echo ""
|
||||
echo " Commit laeuft trotzdem durch - du entscheidest."
|
||||
echo "================================================================"
|
||||
fi
|
||||
|
||||
exit 0
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren