Access Control
{#if rbacMsg}
{rbacMsg}
{/if}
{#if rbacErr}
{rbacErr}
{/if}
Role Defaults
{#each Object.entries(rbacConfig.role_defaults || {}) as [role, cfg]}
{#if editingRole === role}
{role}
{#each allPages as p}
{/each}
{:else}
{role}
{cfg.pages === "*" ? "All pages" : (cfg.pages || []).join(", ")}
{/if}
{/each}
User Overrides
{#if editingUser !== "__new__"}
{/if}
{#if Object.keys(rbacConfig.user_overrides || {}).length > 0}
{#each Object.entries(rbacConfig.user_overrides) as [username, cfg]}
{#if editingUser === username}
{username}
{#each allPages as p}
{/each}
{:else}
{username}
{(cfg.pages || []).join(", ")}
{/if}
{/each}
{:else if editingUser !== "__new__"}
No user overrides configured
{/if}
{#if editingUser === "__new__"}
{/if}
Audit Log
{#if auditEntries.length > 0}
{#each ["all", "high", "medium", "low", "info"] as lvl}
{/each}
{#each filteredEntries as e}
{levelLabels[e.level]}
{e.ts.replace('T', ' ')}
{e.status}
{e.user}
{e.method} {e.path}
{/each}
{:else if !auditLoading}
Click Load to view recent audit log entries
{/if}