Vollständiges Zugangs-/Rollen-/Rechtesystem gebaut (Anforderungsdokument): D1-Datenbank, AES-verschlüsselte Codes nur für Owner einsehbar, granulare Permissions, Session-Auth mit Lockout, Zugänge-&-Teammitglieder-Verwaltungsseite, Bewerbungen mit Status/Notizen/Entwürfen
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
/* =====================================================================
|
||||
audit.js — Aktivitätsprotokoll
|
||||
WICHTIG: Codes dürfen hier NIEMALS im Klartext (oder auch nur
|
||||
teilweise) auftauchen. `detail` ist für zusätzlichen, unkritischen
|
||||
Kontext gedacht (z.B. "role: rechte-hand"), niemals für Geheimnisse.
|
||||
===================================================================== */
|
||||
import { nowIso } from "./crypto.js";
|
||||
|
||||
export async function logAction(env, actor, action, target, detail) {
|
||||
await env.DB.prepare(
|
||||
`INSERT INTO audit_log (actor, action, target, detail, created_at) VALUES (?, ?, ?, ?, ?)`
|
||||
)
|
||||
.bind(actor, action, target || null, detail ? JSON.stringify(detail) : null, nowIso())
|
||||
.run();
|
||||
}
|
||||
Reference in New Issue
Block a user