BillReceiveController::toggle()   A
last analyzed

Complexity

Conditions 5
Paths 5

Size

Total Lines 31
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 5
eloc 15
nc 5
nop 2
dl 0
loc 31
rs 9.4555
c 0
b 0
f 0
1
<?php
2
3
namespace App\Http\Controllers\Api\V1;
4
5
use App\Http\Controllers\Controller;
6
use Illuminate\Http\Request;
7
use App\User;
8
9
class BillReceiveController extends Controller
10
{
11
	private $model;
12
13
	/**
14
     * Create a new controller instance.
15
     *
16
     * @return void
17
     */
18
    public function __construct(User $model)
19
    {
20
        $this->model = $model;
21
    }
22
23
    public function index(Request $request)
24
    {
25
        $user = $this->model->where('id', $request->user()->id)->first();
26
27
		if (!$user) {
28
			return response()->json(['status' => 'error', 'message' => 'Opss. Usuário não foi encontrado, favor verifique se esta logado.']);
29
		}
30
31
		$bill_receives = $user->bill_receives()->with('category')->get();
32
33
		return response()->json(['status' => 'success', 'data' => $bill_receives]);
34
    }
35
36
    public function store(Request $request)
37
    {
38
        $rules = [
39
            'category_id' => 'required',
40
            'date_launch' => 'required|date',
41
            'name' => 'required|min:3|max:255',
42
            'value' => 'required|numeric',
43
            'status' => 'required'
44
        ];
45
46
        $validator = \Validator::make($request->all(), $rules);
47
48
        if ($validator->fails()) {
49
           return response()->json(['status' => 'error', 'errors' => $validator->errors()], 422);
50
        }
51
52
        $user = $this->model->where('id', $request->user()->id)->first();
53
54
        if (!$user) {
55
            return response()->json(['status' => 'error', 'message' => 'Opss. Usuário não foi encontrado, favor verifique se esta logado.']);
56
        }
57
        
58
        $user->bill_receives()->create($request->all());
59
60
        return response()->json(['status' => 'success', 'message' => 'Conta a receber criada com sucesso']);
61
    }
62
63
    public function show(Request $request, $id)
64
    {
65
        if (!$id) {
66
           return response()->json(['status' => 'error', 'message' => 'Conta a receber não informada']);
67
        }
68
69
        $user = $this->model->where('id', $request->user()->id)->first();
70
71
        if (!$user) {
72
            return response()->json(['status' => 'error', 'message' => 'Opss. Usuário não foi encontrado, favor verifique se esta logado.']);
73
        }
74
        
75
        $bill_receive = $user->bill_receives()->find($id);
76
77
        if (!$bill_receive) {
78
            return response()->json(['status' => 'error', 'message' => 'Opss. Conta a receber não encontrada pra este usuário.']);
79
        }
80
81
        return response()->json(['status' => 'success', 'data' => $bill_receive]);
82
    }
83
84
    public function update(Request $request, $id)
85
    {
86
        $rules = [
87
            'category_id' => 'required',
88
            'date_launch' => 'required|date',
89
            'name' => 'required|min:3|max:255',
90
            'value' => 'required|numeric',
91
            'status' => 'required'
92
        ];
93
94
        $validator = \Validator::make($request->all(), $rules);
95
96
        if ($validator->fails()) {
97
           return response()->json(['status' => 'error', 'errors' => $validator->errors()], 422);
98
        }
99
        
100
        if (!$id) {
101
           return response()->json(['status' => 'error', 'message' => 'Conta a receber não informada']);
102
        }
103
104
        $user = $this->model->where('id', $request->user()->id)->first();
105
106
        if (!$user) {
107
            return response()->json(['status' => 'error', 'message' => 'Opss. Usuário não foi encontrado, favor verifique se esta logado.']);
108
        }
109
        
110
        $bill_receive = $user->bill_receives()->find($id);
111
112
        if (!$bill_receive) {
113
            return response()->json(['status' => 'error', 'message' => 'Opss. Conta a receber não encontrada pra este usuário.']);
114
        }
115
116
        $bill_receive->update($request->all());
117
118
        return response()->json(['status' => 'success', 'message' => 'Conta a receber atualizada com sucesso.']);
119
    }
120
121
    public function toggle(Request $request, $id)
122
    {
123
        $rules = [
124
            'status' => 'required'
125
        ];
126
127
        $validator = \Validator::make($request->all(), $rules);
128
129
        if ($validator->fails()) {
130
           return response()->json(['status' => 'error', 'errors' => $validator->errors()], 422);
131
        }
132
        
133
        if (!$id) {
134
           return response()->json(['status' => 'error', 'message' => 'Conta a receber não informada']);
135
        }
136
137
        $user = $this->model->where('id', $request->user()->id)->first();
138
139
        if (!$user) {
140
            return response()->json(['status' => 'error', 'message' => 'Opss. Usuário não foi encontrado, favor verifique se esta logado.']);
141
        }
142
        
143
        $bill_receive = $user->bill_receives()->find($id);
144
145
        if (!$bill_receive) {
146
            return response()->json(['status' => 'error', 'message' => 'Opss. Conta a receber não encontrada pra este usuário.']);
147
        }
148
149
        $bill_receive->update($request->all());
150
151
        return response()->json(['status' => 'success', 'message' => 'Conta a receber atualizada com sucesso.']);
152
    }
153
154
    public function destroy(Request $request, $id)
155
    {
156
        if (!$id) {
157
           return response()->json(['status' => 'error', 'message' => 'Conta a receber não informada']);
158
        }
159
160
        $user = $this->model->where('id', $request->user()->id)->first();
161
162
        if (!$user) {
163
            return response()->json(['status' => 'error', 'message' => 'Opss. Usuário não foi encontrado, favor verifique se esta logado.']);
164
        }
165
        
166
        $bill_receive = $user->bill_receives()->find($id);
167
168
        if (!$bill_receive) {
169
            return response()->json(['status' => 'error', 'message' => 'Opss. Conta a receber não encontrada pra este usuário.']);
170
        }
171
172
        $bill_receive->delete();
173
174
        return response()->json(['status' => 'success', 'message' => 'Conta a receber deletada com sucesso.']);
175
    }
176
}