Completed
Pull Request — master (#50)
by Mostafa Abd El-Salam
12:14
created

UnauthorizedException   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 46
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 4
lcom 0
cbo 1
dl 0
loc 46
ccs 12
cts 12
cp 1
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 12 2
A getRequiredRoles() 0 4 1
A getRequiredPermissions() 0 4 1
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 null $message
21
     * @param array $requiredRoles
22
     * @param array $requiredPermissions
23
     */
24 9
    public function __construct($statusCode, $message = null, $requiredRoles = [], $requiredPermissions = [])
25
    {
26 9
        parent::__construct($statusCode, $message);
27
28 9
        if (\config('permission.log_registration_exception')) {
29 9
            $logger = \app('log');
30 9
            $logger->alert($message);
31
        }
32
33 9
        $this->requiredRoles       = $requiredRoles;
34 9
        $this->requiredPermissions = $requiredPermissions;
35 9
    }
36
37
    /**
38
     * Return Required Roles
39
     *
40
     * @return array
41
     */
42 1
    public function getRequiredRoles(): array
43
    {
44 1
        return $this->requiredRoles;
45
    }
46
47
    /**
48
     * Return Required Permissions
49
     *
50
     * @return array
51
     */
52 1
    public function getRequiredPermissions(): array
53
    {
54 1
        return $this->requiredPermissions;
55
    }
56
}
57