## Summary - cut over workspace-owned analysis and library surfaces to workspace shell ownership instead of inheriting remembered environment shell context - update the affected findings pages, scope resolution, navigation helpers, and related Blade views to keep environment focus explicit instead of implicit - add and update Spec 320 artifacts plus focused regression coverage for findings navigation context, workspace hub registration, and admin surface scope behavior ## Guardrails - Filament remains on v5 with Livewire v4 compliance unchanged - provider registration remains in apps/platform/bootstrap/providers.php - no new globally searchable resources were introduced or changed - no new destructive actions were introduced or changed - no Filament assets were added or changed, so the deploy requirement for filament:assets is unchanged ## Testing - `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Findings/FindingsAssignmentHygieneReportTest.php tests/Feature/Findings/FindingsIntakeQueueNavigationContextTest.php tests/Feature/Findings/FindingsIntakeQueueTest.php tests/Feature/Findings/MyFindingsInboxNavigationContextTest.php tests/Feature/Findings/MyWorkInboxTest.php tests/Feature/Navigation/WorkspaceHubRegistryTest.php tests/Unit/Support/OperateHub/OperateHubShellResolutionTest.php tests/Unit/Tenants/AdminSurfaceScopeTest.php` - `cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent` Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #375
30 lines
1.1 KiB
PHP
30 lines
1.1 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Support\Tenants;
|
|
|
|
use App\Support\Navigation\AdminSurfaceScope;
|
|
|
|
enum TenantInteractionLane: string
|
|
{
|
|
case StandardActiveOperating = 'standard_active_operating';
|
|
case OnboardingWorkflow = 'onboarding_workflow';
|
|
case AdministrativeManagement = 'administrative_management';
|
|
case CanonicalWorkspaceRecord = 'canonical_workspace_record';
|
|
|
|
public static function fromSurfaceScope(AdminSurfaceScope $pageCategory): self
|
|
{
|
|
return match ($pageCategory) {
|
|
AdminSurfaceScope::OnboardingWorkflow => self::OnboardingWorkflow,
|
|
AdminSurfaceScope::EnvironmentBound,
|
|
AdminSurfaceScope::EnvironmentScopedEvidence => self::AdministrativeManagement,
|
|
AdminSurfaceScope::CanonicalWorkspaceRecordViewer => self::CanonicalWorkspaceRecord,
|
|
AdminSurfaceScope::WorkspaceWideSurface,
|
|
AdminSurfaceScope::WorkspaceOwnedAnalysisSurface,
|
|
AdminSurfaceScope::WorkspaceScoped,
|
|
AdminSurfaceScope::WorkspaceChooserException => self::StandardActiveOperating,
|
|
};
|
|
}
|
|
}
|