RolesController   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 76
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

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

5 Methods

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