Certificate manager built on Laravel 13, Livewire 4, and Flux. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
26 lines
674 B
PHP
26 lines
674 B
PHP
<?php
|
|
|
|
namespace App\Models\Scopes;
|
|
|
|
use Illuminate\Database\Eloquent\Builder;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Eloquent\Scope;
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
|
/**
|
|
* @implements Scope<Model>
|
|
*/
|
|
class OwnedByUserScope implements Scope
|
|
{
|
|
/**
|
|
* Restrict queries to the authenticated user's rows. Deliberately a
|
|
* no-op without an authenticated user so console commands and queued
|
|
* jobs can operate across all users.
|
|
*/
|
|
public function apply(Builder $builder, Model $model): void
|
|
{
|
|
if (Auth::hasUser()) {
|
|
$builder->where($model->qualifyColumn('user_id'), Auth::id());
|
|
}
|
|
}
|
|
}
|