Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
9 / 9
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
ChangePasswordUserService
100.00% covered (success)
100.00%
9 / 9
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
 change
100.00% covered (success)
100.00%
9 / 9
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3namespace Domain\User\Services;
4
5use App\Events\ServiceProcessed;
6use App\Models\User;
7use Domain\User\DTOs\UserChangePasswordDTO;
8use Domain\User\Enums\UserLogOperationEnum;
9use Illuminate\Support\Facades\Hash;
10
11readonly class ChangePasswordUserService
12{
13    public static function change(UserChangePasswordDTO $userDTO, User $userToChange, User $user): void
14    {
15        $userToChange->setAttribute('password', Hash::make($userDTO->password));
16        $userToChange->save();
17
18        ServiceProcessed::dispatch(self::class, $user);
19
20        (new StoreUserLogService())->store(
21            $userToChange,
22            $user,
23            UserLogOperationEnum::UPDATE,
24            ['password']
25        );
26    }
27}