Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
7 / 7
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
StoreUserLogService
100.00% covered (success)
100.00%
7 / 7
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
 store
100.00% covered (success)
100.00%
7 / 7
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 App\Models\UserLog;
8use Domain\User\Enums\UserLogOperationEnum;
9
10readonly class StoreUserLogService
11{
12    public function store(User $userTarget, User $userActor, UserLogOperationEnum $userLogOperation, $detail)
13    {
14        $userLog = new UserLog();
15        $userLog->target_user_id = $userTarget->getKey();
16        $userLog->actor_user_id  = $userActor->getKey();
17        $userLog->operation      = $userLogOperation->value;
18        $userLog->detail         = $detail;
19        $userLog->save();
20
21        ServiceProcessed::dispatch(self::class, $userActor);
22    }
23}