firstOrCreate( ['slug' => 'default'], ['name' => 'Default Workspace', 'slug' => 'default'], ); $tenant = ManagedEnvironment::query()->firstOrCreate([ 'slug' => $seedManagedEnvironmentSlug, ], [ 'workspace_id' => (int) $workspace->getKey(), 'name' => 'Default Managed Environment', 'display_name' => 'Default Managed Environment', 'metadata' => [], ]); if ($tenant->workspace_id === null) { $tenant->forceFill([ 'workspace_id' => (int) $workspace->getKey(), ])->saveQuietly(); } $supported = config('tenantpilot.supported_policy_types', []); $now = now(); foreach ($supported as $index => $type) { $policyType = $type['type']; $platform = $type['platform'] ?? null; $externalId = 'seed-'.$policyType.'-'.($platform ?? 'any').'-'.$index; Policy::updateOrCreate( [ 'workspace_id' => (int) $workspace->getKey(), 'managed_environment_id' => $tenant->id, 'external_id' => $externalId, 'policy_type' => $policyType, ], [ 'workspace_id' => (int) $workspace->getKey(), 'display_name' => $type['label'] ?? ucfirst($policyType), 'platform' => $platform, 'last_synced_at' => $now, 'metadata' => ['seeded' => true], ] ); } } }