Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 8
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
ShippingPackagingUpdateService
0.00% covered (danger)
0.00%
0 / 8
0.00% covered (danger)
0.00%
0 / 1
6
0.00% covered (danger)
0.00%
0 / 1
 update
0.00% covered (danger)
0.00%
0 / 8
0.00% covered (danger)
0.00%
0 / 1
6
1<?php
2
3
4namespace Domain\ShippingPackaging\Services;
5
6use App\Events\ServiceProcessed;
7use App\Models\ShippingPackaging\ShippingPackaging;
8use App\Models\User;
9use Domain\ShippingPackaging\DTOs\ShippingPackagingDTO;
10use Domain\Team\Exceptions\UserDoesNotBelongToTeamException;
11
12readonly class ShippingPackagingUpdateService
13{
14    public function update(ShippingPackagingDTO $shippingPackagingDTO, ShippingPackaging $shippingPackaging, User $user): ShippingPackaging
15    {
16        if ($user->teams()->where('team_id', $shippingPackagingDTO->team->getKey())->doesntExist()) {
17            throw new UserDoesNotBelongToTeamException(__('Team does not belong to this user'));
18        }
19
20        $shippingPackaging->team()->associate($shippingPackagingDTO->team);
21        $shippingPackaging->fill($shippingPackagingDTO->toArray());
22        $shippingPackaging->packaging()->associate($shippingPackagingDTO->packaging);
23        $shippingPackaging->save();
24
25        ServiceProcessed::dispatch(self::class, $user);
26        return $shippingPackaging;
27    }
28}