Total Complexity | 16 |
Total Lines | 71 |
Duplicated Lines | 0 % |
Coverage | 90.63% |
Changes | 1 | ||
Bugs | 0 | Features | 0 |
1 | <?php |
||
9 | class UrlPolicy |
||
10 | { |
||
11 | use HandlesAuthorization; |
||
12 | |||
13 | 17 | public function viewAny(User $user): bool |
|
20 | } |
||
21 | |||
22 | 29 | public function view(User $user, Url $url): bool |
|
23 | { |
||
24 | 29 | if ($user->hasPermissionTo('url:view:any')) { |
|
25 | 12 | return true; |
|
26 | } |
||
27 | |||
28 | 17 | if (! $user->hasPermissionTo('url:view')) { |
|
29 | return true; |
||
30 | } |
||
31 | |||
32 | 17 | if ($user->id === $url->user_id) { |
|
33 | 11 | return true; |
|
34 | } |
||
35 | |||
36 | 7 | return false; |
|
37 | } |
||
38 | |||
39 | 8 | public function create(User $user): bool |
|
40 | { |
||
41 | 8 | if ($user->hasPermissionTo('url:create')) { |
|
42 | 7 | return true; |
|
43 | } |
||
44 | |||
45 | 1 | return false; |
|
46 | } |
||
47 | |||
48 | 11 | public function update(User $user, Url $url): bool |
|
49 | { |
||
50 | 11 | if ($user->hasPermissionTo('url:update:any')) { |
|
51 | 4 | return true; |
|
52 | } |
||
53 | |||
54 | 7 | if (! $user->hasPermissionTo('url:update')) { |
|
55 | return true; |
||
56 | } |
||
57 | |||
58 | 7 | if ($user->id === $url->user_id) { |
|
59 | 6 | return true; |
|
60 | } |
||
61 | |||
62 | 2 | return false; |
|
63 | } |
||
64 | |||
65 | 14 | public function delete(User $user, Url $url): bool |
|
80 | } |
||
81 | } |
||
82 |