WidgetController   A
last analyzed

Complexity

Total Complexity 13

Size/Duplication

Total Lines 121
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 6

Test Coverage

Coverage 21.43%

Importance

Changes 0
Metric Value
dl 0
loc 121
ccs 9
cts 42
cp 0.2143
rs 10
c 0
b 0
f 0
wmc 13
lcom 1
cbo 6

8 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 1
A index() 0 5 1
A create() 0 4 1
A store() 0 18 3
A show() 0 5 1
A edit() 0 4 1
A update() 0 19 3
A destroy() 0 8 2
1
<?php
2
3
namespace App\Api\Controllers;
4
5
use App\Models\Dashboard;
6
use App\Models\UsersWidgets;
7
use App\Models\Widgets;
8
use Dingo\Api\Routing\Helpers;
9
use Illuminate\Http\Request;
10
11
class WidgetController extends Controller
12
{
13
    use Helpers;
14
15 5
    public function __construct()
16
    {
17 5
    }
18
19
    /**
20
     * Display a listing of all widgets
21
     *
22
     * @param Request $request
23
     * @return \Illuminate\Database\Eloquent\Collection
24
     */
25 4
    public function index(Request $request)
26
    {
27 4
        $widget = Widgets::all();
28 4
        return $widget;
29
    }
30
31
    /**
32
     * Show the form for creating a new resource.
33
     *
34
     * @return \Illuminate\Http\Response|null
35
     */
36
    public function create()
37
    {
38
        //
39
    }
40
41
    /**
42
     * Store a newly created resource in storage.
43
     *
44
     * @param  \Illuminate\Http\Request  $request
45
     * @return \Illuminate\Http\Response|null
46
     */
47
    public function store(Request $request)
48
    {
49
        $row = Dashboard::find($request->dashboard_id)->widgets()->max('row') + 1;
50
        $user_widget = new UsersWidgets;
51
        $user_widget->user_id = $request->user()->user_id;
52
        $user_widget->widget_id = $request->widget_id;
53
        $user_widget->col = $request->col ?: 1;
54
        $user_widget->row = $row;
55
        $user_widget->size_x = $request->size_x;
56
        $user_widget->size_y = $request->size_y;
57
        $user_widget->title = $request->title;
58
        $user_widget->dashboard_id = $request->dashboard_id;
59
        if ($user_widget->save()) {
60
            return $this->response->array(array('statusText' => 'OK', 'user_widget_id' => $user_widget->user_widget_id));
61
        } else {
62
            return $this->response->errorInternal();
63
        }
64
    }
65
66
    /**
67
     * Display the specified resource.
68
     *
69
     * @param Request $request
70
     * @param  int $id
71
     * @return \Illuminate\Http\Response|null
72
     */
73
    public function show(Request $request, $id)
74
    {
75
        $widget = Widgets::find($id);
76
        return $widget;
77
    }
78
79
    /**
80
     * Show the form for editing the specified resource.
81
     *
82
     * @param  int  $id
83
     * @return \Illuminate\Http\Response|null
84
     */
85
    public function edit($id)
0 ignored issues
show
Unused Code introduced by
The parameter $id is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
86
    {
87
        //
88
    }
89
90
    /**
91
     * Update the specified resource in storage.
92
     *
93
     * @param  \Illuminate\Http\Request  $request
94
     * @param  int  $id
95
     * @return \Illuminate\Http\Response
96
     */
97
    public function update(Request $request, $id)
98
    {
99
        if ($request->input('settings')) {
100
            $users_widgets = UsersWidgets::find($id);
101
            $users_widgets->settings = json_encode($request->input('settings'));
102
        } else {
103
            $users_widgets = UsersWidgets::find($id);
104
            $users_widgets->col = $request->input('x');
105
            $users_widgets->row = $request->input('y');
106
            $users_widgets->size_x = $request->input('width');
107
            $users_widgets->size_y = $request->input('height');
108
        }
109
110
        if ($users_widgets->save()) {
111
            return $this->response->array(array('statusText' => 'OK'));
112
        } else {
113
            return $this->response->errorInternal();
114
        }
115
    }
116
117
    /**
118
     * Remove the specified resource from storage.
119
     *
120
     * @param  int  $id
121
     * @return \Illuminate\Http\Response|null
122
     */
123 1
    public function destroy($id)
124
    {
125 1
        if (UsersWidgets::destroy($id)) {
126 1
            return $this->response->array(array('statusText' => 'OK'));
127
        } else {
128 1
            return $this->response->errorInternal();
129
        }
130
    }
131
}
132