CheckPermission   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 21
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 4
lcom 0
cbo 1
dl 0
loc 21
rs 10
c 1
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A handle() 0 10 4
1
<?php
2
3
namespace NukaCode\Users\Http\Middleware;
4
5
use Closure;
6
7
class CheckPermission
8
{
9
    /**
10
     * Handle an incoming request.
11
     *
12
     * @param  \Illuminate\Http\Request $request
13
     * @param  \Closure                 $next
14
     * @param null                      $permission
15
     * @return mixed
16
     */
17
    public function handle($request, Closure $next, $permission = null)
18
    {
19
        if (! app('Illuminate\Contracts\Auth\Guard')->guest()) {
20
            if ($request->user()->can($permission)) {
21
                return $next($request);
22
            }
23
24
            return $request->ajax ? response('Forbidden.', 403) : redirect(route('login'));
25
        }
26
    }
27
}
28