Completed
Push — master ( b52d53...c245d9 )
by ARCANEDEV
03:13
created

AdminMiddleware::handle()   A

Complexity

Conditions 3
Paths 4

Size

Total Lines 12
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 12

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 12
ccs 0
cts 10
cp 0
rs 9.4286
cc 3
eloc 6
nc 4
nop 2
crap 12
1
<?php namespace Arcanesoft\Foundation\Http\Middleware;
2
3
use Arcanesoft\Contracts\Auth\Models\User;
4
use Closure;
5
use Illuminate\Http\Request;
6
7
/**
8
 * Class     AdminMiddleware
9
 *
10
 * @package  Arcanesoft\Foundation\Http\Middleware
11
 * @author   ARCANEDEV <[email protected]>
12
 */
13
class AdminMiddleware
14
{
15
    /* ------------------------------------------------------------------------------------------------
16
     |  Main Functions
17
     | ------------------------------------------------------------------------------------------------
18
     */
19
    /**
20
     * Run the request filter.
21
     *
22
     * @param  \Illuminate\Http\Request  $request
23
     * @param  \Closure                  $next
24
     *
25
     * @return mixed
26
     */
27
    public function handle(Request $request, Closure $next)
28
    {
29
        if (is_null($user = $request->user())) {
30
            abort(404, 'Guest not allowed !');
31
        }
32
33
        if ( ! $this->isAdmin($user)) {
34
            abort(404, 'User not allowed !');
35
        }
36
37
        return $next($request);
38
    }
39
40
    /* ------------------------------------------------------------------------------------------------
41
     |  Check Functions
42
     | ------------------------------------------------------------------------------------------------
43
     */
44
    /**
45
     * Check if user is an administrator.
46
     *
47
     * @param  User  $user
48
     *
49
     * @return bool
50
     */
51
    private function isAdmin($user)
52
    {
53
        return $user->isAdmin();
54
    }
55
}
56