## Summary - centralize all status-like badge semantics via `BadgeCatalog`/`BadgeRenderer` and new per-domain mappings plus coverage for every affected entity - replace ad-hoc badge colors in Filament tables/views with the shared catalog and add a guard test that blocks new inline semantics - stabilize restore views by avoiding `@php(...)` shorthand so Blade compiles cleanly, and document BADGE-001 in the constitution/templates ## Testing - `vendor/bin/sail php vendor/bin/pint --dirty` - `vendor/bin/sail artisan test tests/Unit/Badges tests/Feature/Guards/NoAdHocStatusBadgesTest.php` - `vendor/bin/sail artisan test tests/Feature/Monitoring/OperationsDbOnlyTest.php tests/Feature/Monitoring/OperationsTenantScopeTest.php` - `vendor/bin/sail artisan test tests/Feature/RestoreRunWizardMetadataTest.php tests/Feature/Filament/SettingsCatalogRestoreApplySettingsPatchTest.php` Co-authored-by: Ahmed Darrazi <ahmeddarrazi@adsmac.local> Reviewed-on: #71
30 lines
1.2 KiB
PHP
30 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Support\Badges;
|
|
|
|
enum BadgeDomain: string
|
|
{
|
|
case OperationRunStatus = 'operation_run_status';
|
|
case OperationRunOutcome = 'operation_run_outcome';
|
|
case InventorySyncRunStatus = 'inventory_sync_run_status';
|
|
case BackupScheduleRunStatus = 'backup_schedule_run_status';
|
|
case BackupSetStatus = 'backup_set_status';
|
|
case EntraGroupSyncRunStatus = 'entra_group_sync_run_status';
|
|
case RestoreRunStatus = 'restore_run_status';
|
|
case RestoreCheckSeverity = 'restore_check_severity';
|
|
case FindingStatus = 'finding_status';
|
|
case FindingSeverity = 'finding_severity';
|
|
case BooleanEnabled = 'boolean_enabled';
|
|
case BooleanHasErrors = 'boolean_has_errors';
|
|
case TenantStatus = 'tenant_status';
|
|
case TenantAppStatus = 'tenant_app_status';
|
|
case TenantRbacStatus = 'tenant_rbac_status';
|
|
case TenantPermissionStatus = 'tenant_permission_status';
|
|
case PolicySnapshotMode = 'policy_snapshot_mode';
|
|
case PolicyRestoreMode = 'policy_restore_mode';
|
|
case PolicyRisk = 'policy_risk';
|
|
case IgnoredAt = 'ignored_at';
|
|
case RestorePreviewDecision = 'restore_preview_decision';
|
|
case RestoreResultStatus = 'restore_result_status';
|
|
}
|