UnauthorizedException   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 48
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 2
Bugs 1 Features 0
Metric Value
eloc 11
c 2
b 1
f 0
dl 0
loc 48
ccs 12
cts 12
cp 1
rs 10
wmc 4

3 Methods

Rating   Name   Duplication   Size   Complexity  
A getRequiredRoles() 0 3 1
A getRequiredPermissions() 0 3 1
A __construct() 0 15 2
1
<?php
2
3
namespace Maklad\Permission\Exceptions;
4
5
use Symfony\Component\HttpKernel\Exception\HttpException;
6
7
/**
8
 * Class UnauthorizedException
9
 * @package Maklad\Permission\Exceptions
10
 */
11
class UnauthorizedException extends HttpException
12
{
13
    private $requiredRoles = [];
14
    private $requiredPermissions = [];
15
16
    /**
17
     * UnauthorizedException constructor.
18
     *
19
     * @param $statusCode
20
     * @param string $message
21
     * @param array $requiredRoles
22
     * @param array $requiredPermissions
23
     */
24 9
    public function __construct(
25
        $statusCode,
26 9
        string $message = null,
27
        array $requiredRoles = [],
28 9
        array $requiredPermissions = []
29 9
    ) {
30 9
        parent::__construct($statusCode, $message);
31
32
        if (\config('permission.log_registration_exception')) {
33 9
            $logger = \app('log');
34 9
            $logger->alert($message);
35 9
        }
36
37
        $this->requiredRoles       = $requiredRoles;
38
        $this->requiredPermissions = $requiredPermissions;
39
    }
40
41
    /**
42 1
     * Return Required Roles
43
     *
44 1
     * @return array
45
     */
46
    public function getRequiredRoles(): array
47
    {
48
        return $this->requiredRoles;
49
    }
50
51
    /**
52 1
     * Return Required Permissions
53
     *
54 1
     * @return array
55
     */
56
    public function getRequiredPermissions(): array
57
    {
58
        return $this->requiredPermissions;
59
    }
60
}
61