TenantAtlas/app/Support/Providers/ProviderVerificationStatus.php
ahmido bab01f07a9 feat: standardize platform provider identity (#166)
## Summary
- standardize Microsoft provider connections around explicit platform vs dedicated identity modes
- centralize admin-consent URL and runtime identity resolution so platform flows no longer fall back to tenant-local credentials
- add migration classification, richer consent and verification state handling, dedicated override management, and focused regression coverage

## Validation
- focused repo test coverage was added across provider identity, onboarding, audit, policy, guard, and migration flows
- latest explicit passing run in the workspace: `vendor/bin/sail artisan test --compact tests/Feature/AdminConsentCallbackTest.php tests/Feature/Audit/ProviderConnectionConsentAuditTest.php`

## Notes
- branch includes the full Spec 137 artifact set under `specs/137-platform-provider-identity/`
- target base branch: `dev`

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #166
2026-03-13 16:29:08 +00:00

27 lines
609 B
PHP

<?php
namespace App\Support\Providers;
enum ProviderVerificationStatus: string
{
case Unknown = 'unknown';
case Pending = 'pending';
case Healthy = 'healthy';
case Degraded = 'degraded';
case Blocked = 'blocked';
case Error = 'error';
/**
* @return array<int, string>
*/
public static function values(): array
{
return array_map(static fn (self $case): string => $case->value, self::cases());
}
public function isTerminal(): bool
{
return in_array($this, [self::Healthy, self::Degraded, self::Blocked, self::Error], true);
}
}