ldc-portsalaries/app/Http/Controllers/SitesController.php

30 lines
643 B
PHP

<?php
namespace App\Http\Controllers;
use App\Enums\Role;
use App\Models\Site;
use Illuminate\Database\Eloquent\Builder;
use Kwaadpepper\CrudPolicies\Traits\CrudController;
class SitesController extends Controller
{
use CrudController;
/** @var Site */
public static $modelClass = Site::class;
// BO
// Eloquent callbacks
public function indexQuery(Builder $query): Builder
{
/** @var \App\Models\User */
$user = auth()->user();
if (!$user->role->equals(Role::admin())) {
return $query->whereIn('id', $user->sites()->pluck('id'));
}
return $query;
}
}