osb/app/Traits/ScopeAccountUserAuthorised.php
Deon George b37045acca
All checks were successful
Create Docker Image / Build Docker Image (x86_64) (push) Successful in 41s
Create Docker Image / Final Docker Image Manifest (push) Successful in 9s
PHP deprecation fixes, assigning null arguments in methods
2025-05-22 18:37:04 +10:00

29 lines
576 B
PHP

<?php
namespace App\Traits;
use Illuminate\Support\Facades\Auth;
use App\Models\User;
/**
* Add a ScopeAuthorised to an Eloquent Model
* This will help limit the scope of accounts that a user can see.
*/
trait ScopeAccountUserAuthorised
{
/**
* Only query records that the user is authorised to see
*/
public function scopeAccountUserAuthorised($query,?string $table=NULL,?User $uo=NULL)
{
if (! $uo)
$uo = Auth::user();
if (! $table)
$table = $this->getTable();
return $query
->whereIN($table.'.account_id',$uo->accounts_all->pluck('id'));
}
}