Completed
Push — master ( 4da889...aeb898 )
by Igor
04:51
created

EmployeeController::inactive()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 3
nc 1
nop 1
dl 0
loc 6
ccs 4
cts 4
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace App\Http\Controllers\Domains;
4
5
use App\Employee;
6
use Illuminate\Http\Request;
7
use App\Http\Requests\EmployeeRequest;
8
use App\Http\Controllers\Controller;
9
10
class EmployeeController extends Controller
11
{
12 1
    public function index(Request $request)
13
    {
14 1
        $data = Employee::select()
15 1
            ->orderBy($request->get('order') ?: 'full_name')
16 1
            ->paginate($request->get('limit') ?: 15);
17
18 1
        return response()->json($data);
19
    }
20
21 1
    public function store(EmployeeRequest $request)
22
    {
23 1
        return $this->save($request, new Employee());
24
    }
25
26 3
    public function show(Employee $employee)
27
    {
28 3
        return response()->json($employee, $employee->wasRecentlyCreated ? 201 : 200);
29
    }
30
31 1
    public function update(EmployeeRequest $request, Employee $employee)
32
    {
33 1
        return $this->save($request, $employee);
34
    }
35
36 1
    public function active(Employee $employee)
37
    {
38 1
        $employee->active = true;
39 1
        $employee->save();
40
41 1
        return response()->json($employee, 200);
42
    }
43
44 1
    public function inactive(Employee $employee)
45
    {
46 1
        $employee->active = false;
47 1
        $employee->save();
48
49 1
        return response()->json($employee, 200);
50
    }
51
52 2
    private function save(EmployeeRequest $request, Employee $employee)
53
    {
54 2
        $employee->full_name = $request->json('full_name');
55 2
        $employee->br_cpf = $request->json('br_cpf');
56 2
        $employee->email = $request->json('email');
57 2
        $employee->telephone_type = $request->json('telephone_type');
58 2
        $employee->telephone = $request->json('telephone');
59 2
        $employee->zip_code = $request->json('zip_code');
60 2
        $employee->city = $request->json('city');
61 2
        $employee->state = $request->json('state');
62 2
        $employee->avenue = $request->json('avenue');
63 2
        $employee->number = $request->json('number');
64 2
        $employee->neighborhood = $request->json('neighborhood');
65 2
        $employee->complement = $request->json('complement');
66 2
        $employee->password = bcrypt($request->json('password'));
0 ignored issues
show
Bug introduced by
It seems like $request->json('password') can also be of type Symfony\Component\HttpFoundation\ParameterBag; however, parameter $value of bcrypt() does only seem to accept string, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

66
        $employee->password = bcrypt(/** @scrutinizer ignore-type */ $request->json('password'));
Loading history...
67 2
        $employee->active = true;
68 2
        $employee->save();
69
70 2
        return $this->show($employee);
71
    }
72
73 1
    public function destroy(Employee $employee)
74
    {
75 1
        $employee->delete();
76
77 1
        return response()->json(null, 204);
78
    }
79
}
80