divan/web
Anas Rashid acf7767495 Admin panel: users, password reset on request, disable, roles, delete, audit log (#27)
- API (api/src/admin.ts, admins only): user list and search; password reset generates a temporary
  password shown once and ends the user's sessions; disable/enable (ends sessions, blocks sign-in);
  roles reader/admin; delete; an admin cannot disable, demote or delete themself. Every action is
  written to audit_log (kept when users are deleted).
- First admin from the server: npm run make-admin -- <email> (after signing up).
- Site: /admin (users) and /admin/audit; 'ایڈمن' link in the header for admins.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 23:08:19 +02:00
..
public Divan v2: Astro site with Divan's own design (proof of concept) 2026-10-08 20:26:54 +02:00
src Admin panel: users, password reset on request, disable, roles, delete, audit log (#27) 2026-10-08 23:08:19 +02:00
.gitignore Divan v2: Astro site with Divan's own design (proof of concept) 2026-10-08 20:26:54 +02:00
astro.config.mjs Accounts: email and password sign-up, sign-in/out, change password, delete account (#18) 2026-10-08 22:53:51 +02:00
package-lock.json Self-host Naskh and Nastaliq fonts (fixes font switch in Brave); ?font= URL option 2026-10-08 21:09:26 +02:00
package.json Self-host Naskh and Nastaliq fonts (fixes font switch in Brave); ?font= URL option 2026-10-08 21:09:26 +02:00