• v0.7.0 71a2987a3e

    feat: implement host dashboard

    fabi released this 2026-04-02 18:43:09 +00:00 | 37 commits to main since this release

    Add Host Dashboard for event and guest management, accessible at /host.

    Backend — new /api/v1/host/* endpoints (RequireHost auth):

    • GET /host/event → event name + lock/release state
    • POST /host/event/close|open → lock or unlock uploads; SSE broadcast
    • POST /host/gallery/release → set release timestamp, enqueue export jobs
    • GET /host/users → all guests with upload count & bytes
    • POST /host/users/{id}/ban → ban with optional upload-hide choice
    • POST /host/users/{id}/unban → lift ban
    • PATCH /host/users/{id}/role → promote guest→host or demote host→guest
    • DELETE /host/upload/{id} → host-level soft-delete + SSE
    • DELETE /host/comment/{id} → host-level soft-delete

    Frontend — /host page:

    • Event controls: lock/unlock toggle and release-gallery button with status badges
    • Guest table: display name, role badge, upload count, storage used
    • Ban flow: modal asking whether to keep or hide the user's uploads
    • Promote/demote buttons respecting caller role (host can promote guests; admin can demote hosts)
    • auth.ts: getRole() decodes JWT payload client-side to gate the route

    Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

    Downloads