Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
62.50% covered (warning)
62.50%
5 / 8
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
OriginDeleteService
62.50% covered (warning)
62.50%
5 / 8
0.00% covered (danger)
0.00%
0 / 1
2.21
0.00% covered (danger)
0.00%
0 / 1
 delete
62.50% covered (warning)
62.50%
5 / 8
0.00% covered (danger)
0.00%
0 / 1
2.21
1<?php
2
3namespace Domain\Category\Services;
4
5use App\Events\ServiceProcessed;
6use App\Models\Category\Origin;
7use App\Models\User;
8use Illuminate\Support\Facades\DB;
9use Throwable;
10
11class OriginDeleteService
12{
13    /**
14     * @param Origin $origin
15     * @param User $user
16     * @return void
17     * @throws Throwable
18     */
19    public function delete(Origin $origin, User $user): void
20    {
21
22        try {
23            DB::beginTransaction();
24
25            $origin->integration()->delete();
26            $origin->delete();
27
28            DB::commit();
29        } catch (Throwable $exception) {
30            DB::rollBack();
31            throw $exception;
32        }
33
34        ServiceProcessed::dispatch(self::class, $user);
35    }
36}