TenantAtlas/apps/platform/app/Support/WorkspaceIsolation/TenantOwnedQueryScope.php
Ahmed Darrazi 1123b122d9
Some checks failed
PR Fast Feedback / fast-feedback (pull_request) Failing after 7m13s
feat: cut over tenant core to managed environments
2026-05-07 08:35:42 +02:00

26 lines
593 B
PHP

<?php
declare(strict_types=1);
namespace App\Support\WorkspaceIsolation;
use App\Models\ManagedEnvironment;
use Illuminate\Database\Eloquent\Builder;
final class TenantOwnedQueryScope
{
public function apply(Builder $query, ?ManagedEnvironment $tenant, string $relationship = 'tenant'): Builder
{
if (! $tenant instanceof ManagedEnvironment) {
return $this->empty($query);
}
return $query->whereBelongsTo($tenant, $relationship);
}
public function empty(Builder $query): Builder
{
return $query->whereRaw('1 = 0');
}
}