Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
HasSectorScope
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
1 / 1
2
100.00% covered (success)
100.00%
1 / 1
 scopeForSector
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
1 / 1
2
1<?php
2
3namespace Domain\Shared\Traits;
4
5use Illuminate\Database\Eloquent\Builder;
6
7use App\Models\User;
8
9trait HasSectorScope
10{
11    public function scopeForSector(Builder $builder, User $user, bool $withTrashed = false): Builder
12    {
13        $sector = array_key_first($user->currentAccessToken()?->abilities);
14
15        if ($withTrashed) {
16            return $builder->withTrashed()->where('sector', $sector);
17        }
18
19        return $builder->where('sector', $sector);
20    }
21}