forked from syntaxbullet/AuroraBot-discord
1.9 KiB
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
reasonfield. - 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
- 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.
- 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.tsto handle the logic of triggering bot-specific functions. - Step 2: Implement the
/api/actionsroute 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."