EmployeeController::destroy()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 1
dl 0
loc 5
ccs 3
cts 3
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\Models\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
        $password = $request->json('password');
67 2
        $employee->password = is_string($password) ? bcrypt($password) : '';
68 2
        $employee->active = true;
69 2
        $employee->save();
70
71 2
        return $this->show($employee);
72
    }
73
74 1
    public function destroy(Employee $employee)
75
    {
76 1
        $employee->delete();
77
78 1
        return response()->json(null, 204);
79
    }
80
}
81