PermissionsController   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 77
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

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

6 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A index() 0 4 1
A store() 0 6 1
A update() 0 6 1
A show() 0 4 1
A destroy() 0 5 1
1
<?php
2
3
namespace EmilMoe\Guardian\Http\Controllers;
4
5
use Illuminate\Http\Request;
6
use App\Http\Controllers\Controller;
7
use EmilMoe\Guardian\Support\Guardian;
8
use Illuminate\Database\Eloquent\Model;
9
use EmilMoe\Guardian\Http\Models\Permission;
10
use Illuminate\Database\Eloquent\Collection;
11
12
class PermissionsController extends Controller
13
{
14
    /**
15
     * Validation rules when changing data.
16
     *
17
     * @var array
18
     */
19
    protected $rules;
20
21
    /**
22
     * Create a new Permission controller instance.
23
     *
24
     * PermissionsController constructor.
25
     */
26
    public function __construct()
27
    {
28
        $this->rules = ['name' => 'required|unique:'. Guardian::getPermissionTable()];
29
    }
30
31
    /**
32
     * List all permissions.
33
     *
34
     * @return Collection|static[]
35
     */
36
    public function index()
37
    {
38
        return Permission::all();
39
    }
40
41
    /**
42
     * Create a new permission.
43
     *
44
     * @param Request $request
45
     * @return Model
46
     */
47
    public function store(Request $request)
48
    {
49
        $this->validate($request, $this->rules);
50
51
        return Permission::create($request->all());
52
    }
53
54
    /**
55
     * Update a single permission.
56
     *
57
     * @param Request $request
58
     * @param $id
59
     */
60
    public function update(Request $request, $id)
61
    {
62
        $this->validate($request, $this->rules);
63
64
        Permission::findOrFail($id)->update($request->all());
65
    }
66
67
    /**
68
     * Display a single permission.
69
     *
70
     * @param $id
71
     * @return mixed
72
     */
73
    public function show($id)
74
    {
75
        return Permission::where('id', $id)->get();
76
    }
77
78
    /**
79
     * Delete a single permission.
80
     *
81
     * @param $id
82
     */
83
    public function destroy($id)
84
    {
85
        Permission::findOrFail($id)
86
            ->delete();
87
    }
88
}