GroupsController   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 82
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 5

Test Coverage

Coverage 100%

Importance

Changes 2
Bugs 1 Features 0
Metric Value
wmc 6
c 2
b 1
f 0
lcom 1
cbo 5
dl 0
loc 82
ccs 29
cts 29
cp 1
rs 10

6 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 6 1
A index() 0 10 1
A store() 0 7 1
A show() 0 6 1
A update() 0 8 1
A destroy() 0 7 1
1
<?php
2
3
namespace plunner\Http\Controllers\Companies\Groups;
4
5
use plunner\Company;
6
use plunner\Group;
7
use plunner\Http\Controllers\Controller;
8
use plunner\Http\Requests\Companies\Groups\GroupRequest;
9
10
/**
11
 * Class GroupsController
12
 * @package plunner\Http\Controllers\Companies\Groups
13
 * @author Claudio Cardinale <[email protected]>
14
 * @copyright 2015 Claudio Cardinale
15
 * @version 1.0.0
16
 */
17
class GroupsController extends Controller
18
{
19 36
    public function __construct()
20
    {
21 36
        config(['auth.model' => \plunner\Company::class]);
22 36
        config(['jwt.user' => \plunner\Company::class]);
23 36
        $this->middleware('jwt.authandrefresh:mode-cn');
24 36
    }
25
26
    /**
27
     * Display a listing of the resource.
28
     *
29
     * @return \Illuminate\Http\Response
30
     */
31 3
    public function index()
32
    {
33
        //
34
        /**
35
         * @var $company Company
36
         */
37 3
        $company = \Auth::user();
38 3
        $groups = $company->groups()->with('planner')->get();
39 3
        return $groups;
40
    }
41
42
    /**
43
     * Store a newly created resource in storage.
44
     *
45
     * @param  GroupRequest $request
46
     * @return \Illuminate\Http\Response
47
     */
48 9
    public function store(GroupRequest $request)
49
    {
50 9
        $company = \Auth::user();
51 9
        $input = $request->all();
52 9
        $group = $company->groups()->create($input);
53 9
        return $group;
54
    }
55
56
    /**
57
     * Display the specified resource.
58
     *
59
     * @param  int $id
60
     * @return \Illuminate\Http\Response
61
     */
62 9
    public function show($id)
63
    {
64 9
        $group = Group::with('planner')->findOrFail($id);
65 6
        $this->authorize($group);
66 3
        return $group;
67
    }
68
69
    /**
70
     * Update the specified resource in storage.
71
     *
72
     * @param  GroupRequest $request
73
     * @param  int $id
74
     * @return \Illuminate\Http\Response
75
     */
76 3
    public function update(GroupRequest $request, $id)
77
    {
78 3
        $group = Group::findOrFail($id);
79 3
        $this->authorize($group);
80 3
        $input = $request->all();
81 3
        $group->update($input);
82 3
        return $group;
83
    }
84
85
    /**
86
     * Remove the specified resource from storage.
87
     *
88
     * @param  int $id
89
     * @return \Illuminate\Http\Response
90
     */
91 6
    public function destroy($id)
92
    {
93 6
        $group = Group::findOrFail($id);
94 6
        $this->authorize($group);
95 3
        $group->delete();
96 3
        return $group;
97
    }
98
}
99