Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
n/a
0 / 0
n/a
0 / 0
CRAP
n/a
0 / 0
UserStaticRules
n/a
0 / 0
n/a
0 / 0
3
n/a
0 / 0
 everyOne
n/a
0 / 0
n/a
0 / 0
1
 noOne
n/a
0 / 0
n/a
0 / 0
1
 atLeastRole
n/a
0 / 0
n/a
0 / 0
1
1<?php
2
3namespace App\Policies\Rules;
4
5use App\Enums\Users\RoleEnum;
6use App\Models\User;
7
8/**
9 * Userlevel Policiy Static Rules
10 *
11 * @codeCoverageIgnore
12 */
13abstract class UserStaticRules
14{
15    /**
16     * Allow everyone.
17     *
18     * @return boolean
19     */
20    public static function everyOne(): bool
21    {
22        return true;
23    }
24
25    /**
26     * Allow no one.
27     *
28     * @return boolean
29     */
30    public static function noOne(): bool
31    {
32        return false;
33    }
34
35    /**
36     * At least a minimum role
37     *
38     * @param \App\Models\User          $user
39     * @param \App\Enums\Users\RoleEnum $minRole
40     * @return boolean
41     */
42    public static function atLeastRole(User $user, RoleEnum $minRole): bool
43    {
44        // phpcs:enable
45        return $user->role->value() <= $minRole->value();
46    }
47}