Files
AuroraBot-discord/tickets/2026-01-08-dashboard-control-panel.md

1.9 KiB

DASH-004: Administrative Control Panel

Status: Draft Created: 2026-01-08 Tags: dashboard, control-panel, bot-actions, operations

1. Context & User Story

  • As a: Bot Administrator
  • I want to: Execute common maintenance tasks directly from the dashboard buttons.
  • So that: I don't have to use terminal commands or Discord slash commands for system-level operations.

2. Technical Requirements

Data Model Changes

  • N/A.

API / Interface

  • POST /api/actions/reload-commands: Triggers the bot's command loader.
  • POST /api/actions/clear-cache: Clears internal bot caches.
  • POST /api/actions/maintenance-mode: Toggles a maintenance flag for the bot.

3. Constraints & Validations (CRITICAL)

  • Input Validation: Standard JSON body with optional reason field.
  • System Constraints:
    • Actions must be idempotent where possible.
    • Actions must provide a response within 10 seconds.
  • Business Logic Guardrails:
    • SECURITY: This endpoint MUST require high-privilege authentication (currently we have single admin assumption, but token-based check should be planned).
    • Maintenance mode toggle must be logged to the event feed.

4. Acceptance Criteria

  1. Given a "Quick Actions" card, When the "Reload Commands" button is clicked, Then the bot reloads its local command files and posts a "Success" event to the feed.
  2. Given a running bot, When the "Clear Cache" button is pushed, Then the bot flushes its internal memory maps and the memory usage metric reflects the drop.

5. Implementation Plan

  • Step 1: Create an action.service.ts to handle the logic of triggering bot-specific functions.
  • Step 2: Implement the /api/actions route group.
  • Step 3: Design a "Quick Actions" card with premium styled buttons in Dashboard.tsx.
  • Step 4: Add loading states to buttons to show when an operation is "In Progress."