CluPilotCloud/database/factories
nexxo c5d60340b7 feat(admin): staff RBAC (spatie) + admin settings page
- 5 operator roles (Owner/Admin/Support/Billing/Read-only) seeded via migration
  with a capability catalogue; app checks capabilities via Gate, never role names
- every mutating admin action authorizes server-side (hosts/datacenters/customers/
  impersonate/provisioning); is_admin reads migrated to console.view / isOperator()
- admin /settings: own account + Owner-only staff invite/role/revoke with
  last-owner, self-role and customer-collision guards (transactional)
- sidebar 'zum Kundenportal' link replaced with Settings

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-25 15:47:42 +02:00
..
CustomerFactory.php fix: seat limit + suspend guard per Codex; harden factory email uniqueness 2026-07-25 14:53:15 +02:00
DatacenterFactory.php test: widen DatacenterFactory code space (fix faker unique() pool exhaustion) 2026-07-25 14:23:49 +02:00
HostFactory.php fix(engine): one host per public IP (unique constraint + validation) 2026-07-25 10:43:30 +02:00
InstanceFactory.php feat(engine-b): customer domain models + migrations 2026-07-25 11:38:01 +02:00
OrderFactory.php feat(engine-b): customer domain models + migrations 2026-07-25 11:38:01 +02:00
ProvisioningRunFactory.php feat(engine): core provisioning data model + hosts 2026-07-25 09:49:43 +02:00
SeatFactory.php fix: seat limit + suspend guard per Codex; harden factory email uniqueness 2026-07-25 14:53:15 +02:00
UserFactory.php feat(admin): staff RBAC (spatie) + admin settings page 2026-07-25 15:47:42 +02:00