WHAT WAS DONE:
- Added tier change dropdown in Players Actions column
- Created POST route /admin/players/:discord_id/tier
- Implemented database tier update with MRR recalculation
- Added audit log entry for tier changes
- htmx reload of table after tier change
WHY:
- Trinity needs ability to manually adjust subscriber tiers
- Customer service: upgrades, downgrades, support cases
- Accountability via audit logging
- Last missing feature in Players module
HOW IT WORKS:
- Dropdown shows all tiers (except Admin 1000)
- On change, htmx POSTs to tier change endpoint
- Route updates subscriptions table (tier_level + mrr_value)
- Audit log records who made the change
- After success, table reloads to show updated tier
FEATURES:
- Real-time tier changes without page refresh
- Automatic MRR recalculation
- Audit trail for compliance
- Skips Admin tier (reserved for Trinity)
- Shows current tier as selected in dropdown
IMPACT:
- Trinity can now manage all subscriber tiers manually
- Critical for customer support scenarios
- Completes Players module functionality
- Ready for soft launch customer service
TODO:
- Discord role sync integration (marked in code)
- This requires bot API endpoint to be built
FILES MODIFIED:
- services/arbiter-3.0/src/views/admin/players/_table_body.ejs
- services/arbiter-3.0/src/routes/admin/players.js
TESTED:
- Not yet deployed - needs testing on Command Center
Signed-off-by: Claude (Chronicler #52) <claude@firefrostgaming.com>