Code Duplication    Length = 16-18 lines in 2 locations

src/Middlewares/PermissionMiddleware.php 1 location

@@ 10-27 (lines=18) @@
7
8
class PermissionMiddleware
9
{
10
    public function handle($request, Closure $next, $permission)
11
    {
12
        if (Auth::guest()) {
13
            abort(403);
14
        }
15
16
        $permissions = is_array($permission)
17
            ? $permission
18
            : explode('|', $permission);
19
20
        foreach ($permissions as $permission) {
21
            if (Auth::user()->can($permission)) {
22
                return $next($request);
23
            }
24
        }
25
26
        abort(403);
27
    }
28
}
29

src/Middlewares/RoleMiddleware.php 1 location

@@ 10-25 (lines=16) @@
7
8
class RoleMiddleware
9
{
10
    public function handle($request, Closure $next, $role)
11
    {
12
        if (Auth::guest()) {
13
            abort(403);
14
        }
15
16
        $role = is_array($role)
17
            ? $role
18
            : explode('|', $role);
19
20
        if (! Auth::user()->hasAnyRole($role)) {
21
            abort(403);
22
        }
23
24
        return $next($request);
25
    }
26
}
27