Files
ReadMeABook/documentation/admin-dashboard.md
T
2026-01-28 11:41:24 -05:00

2.6 KiB

Admin Dashboard

Status: Implemented

Comprehensive overview of system metrics, active requests, download monitoring, and quick access to settings.

Sections

  • Metrics: Total requests, active downloads, completed/failed requests, total users, system health
  • Active Downloads: Real-time table with title, progress, speed, ETA
  • Recent Requests: Last 50 with status and timestamps
  • Quick Actions: Links to settings, users, scheduled jobs, system logs

Data Sources

GET /api/admin/metrics

  • Total requests (all time)
  • Active downloads (status: 'downloading')
  • Completed requests (status: 'downloaded' or 'available', last 30 days)
  • Failed requests (status: 'failed', last 30 days)
  • Total users
  • System health indicators

GET /api/admin/downloads/active

  • Request ID, title, progress %, speed, ETA, user

GET /api/admin/requests/recent

  • Request ID, title, user, status, created/completed dates

GET /api/admin/users

  • User ID, Plex ID, username, email, role, avatar, created/updated dates, last login, request count

PUT /api/admin/users/[id]

  • Update user role (user/admin)
  • Prevents self-demotion

GET /api/admin/logs

  • Query params: page, limit, status, type
  • Returns: Job logs with request/audiobook/user details, pagination info
  • Filters: status (all/pending/active/completed/failed/delayed/stuck), type (all job types)

Features

  • Auto-refresh every 10 seconds (SWR)
  • Back to Home button in header
  • Admin role required
  • Real-time progress updates

Navigation

  • /admin/jobs - Scheduled jobs management (trigger, edit schedule, enable/disable)
  • /admin/settings - System settings (Plex, Prowlarr, paths)
  • /admin/users - User management (view users, change roles)
  • /admin/logs - System logs (view job history, errors, filter by status/type)

User Management Features

  • List all users with avatar, email, role, request count, last login
  • Edit user roles (user/admin)
  • Cannot change own role (security)
  • Shows request count per user
  • Role badges (purple for admin, gray for user)

System Logs Features

  • Real-time job monitoring (10s refresh)
  • Filter by status (pending/active/completed/failed/delayed/stuck)
  • Filter by job type (search_indexers/monitor_download/organize_files/scan_plex/match_plex)
  • Shows related audiobook/user for request jobs
  • Expandable error messages
  • Duration calculation
  • Attempt tracking (current/max)
  • Pagination (50 logs per page)
  • Shows Bull job ID

Tech Stack

  • React Server Components + SWR
  • Tailwind CSS
  • Prisma aggregations for metrics
  • Database queries with indexing