Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
| Total | |
0.00% |
0 / 10 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 1 |
| CheckUserSectorService | |
0.00% |
0 / 10 |
|
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 1 |
| check | |
0.00% |
0 / 10 |
|
0.00% |
0 / 1 |
6 | |||
| 1 | <?php |
| 2 | |
| 3 | namespace Domain\Team\Services; |
| 4 | |
| 5 | use App\Models\User; |
| 6 | use Domain\Shared\Enums\SectorEnum; |
| 7 | use Domain\Team\Exceptions\UserDoesNotBelongToTeamException; |
| 8 | |
| 9 | readonly class CheckUserSectorService |
| 10 | { |
| 11 | public function check(SectorEnum $sectorEnum, array $usersIds): void |
| 12 | { |
| 13 | User::query() |
| 14 | ->whereIn('id', $usersIds) |
| 15 | ->get() |
| 16 | ->each(function (User $userToCheck) use ($sectorEnum) { |
| 17 | if (!$userToCheck->belongsToSector($sectorEnum)) { |
| 18 | throw new UserDoesNotBelongToTeamException(__('The user :user does not belong to the sector :sector.', [ |
| 19 | 'user' => "{$userToCheck->getKey()} - {$userToCheck->getAttribute('name')}", |
| 20 | 'sector' => $sectorEnum->label(), |
| 21 | ])); |
| 22 | } |
| 23 | }); |
| 24 | } |
| 25 | } |