feat: platform admin backend — controllers, services, routes, tests

Add cross-organisation admin API endpoints behind role:super_admin middleware:
- AdminOrganisationController: CRUD with search, filter, billing_status management
- AdminUserController: user management with role assignment across orgs
- AdminStatsController: platform-wide aggregate statistics
- AdminActivityLogController: filterable activity log viewer
- AdminImpersonationController + ImpersonationService: user impersonation with
  token-based session management and activity logging
- BillingStatus enum, form requests, API resources, 23 feature tests

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-14 23:33:16 +02:00
parent ec31646a93
commit ddf26dad33
18 changed files with 1299 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
<?php
declare(strict_types=1);
namespace App\Enums;
enum BillingStatus: string
{
case TRIAL = 'trial';
case ACTIVE = 'active';
case SUSPENDED = 'suspended';
case CANCELLED = 'cancelled';
public function label(): string
{
return match ($this) {
self::TRIAL => 'Trial',
self::ACTIVE => 'Active',
self::SUSPENDED => 'Suspended',
self::CANCELLED => 'Cancelled',
};
}
}