Files
resume.een.ninja/app/Services/UserScopeApplier.php
2025-08-03 00:01:31 +02:00

27 lines
511 B
PHP

<?php
declare(strict_types=1);
namespace App\Services;
use App\Models\Contracts\BelongsToUser;
use App\Models\Scopes\UserScope;
use Illuminate\Database\Eloquent\Model;
final class UserScopeApplier
{
private bool $enabled = false;
public function enable(): void
{
$this->enabled = true;
}
public function applyScope(Model $model): void
{
if ($this->enabled && $model instanceof BelongsToUser) {
$model->addGlobalScope(new UserScope());
}
}
}