DataTypesController   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 56
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 4
eloc 22
c 1
b 0
f 0
dl 0
loc 56
rs 10

4 Methods

Rating   Name   Duplication   Size   Complexity  
A store() 0 8 1
A index() 0 6 1
A destroy() 0 10 1
A update() 0 9 1
1
<?php
2
3
namespace App\Http\Controllers\Equipment;
4
5
use App\Events\Equipment\EquipmentDataTypeCreatedEvent;
6
use App\Events\Equipment\EquipmentDataTypeDeletedEvent;
7
use App\Events\Equipment\EquipmentDataTypeUpdatedEvent;
8
use App\Http\Controllers\Controller;
9
use App\Http\Requests\Equipment\DataTypeRequest;
10
use App\Models\DataFieldType;
11
use App\Models\EquipmentType;
12
use Illuminate\Http\Request;
13
use Inertia\Inertia;
14
15
class DataTypesController extends Controller
16
{
17
    /**
18
     * Display a listing of all available Data Types
19
     */
20
    public function index()
21
    {
22
        $this->authorize('create', EquipmentType::class);
23
24
        return Inertia::render('DataTypes/Index', [
25
            'data_list' => DataFieldType::all(),
26
        ]);
27
    }
28
29
    /**
30
     * Create a new Data Type
31
     */
32
    public function store(DataTypeRequest $request)
33
    {
34
        $type = DataFieldType::create($request->only('name'));
35
36
        event(new EquipmentDataTypeCreatedEvent($type));
37
        return back()->with([
38
            'message' => 'Data Type has been created',
39
            'type'    => 'success',
40
        ]);
41
    }
42
43
    /**
44
     * Update the name of a Data Type
45
     */
46
    public function update(DataTypeRequest $request, $id)
47
    {
48
        $type = DataFieldType::find($id);
49
        $type->update($request->only('name'));
50
51
        event(new EquipmentDataTypeUpdatedEvent($type));
52
        return back()->with([
53
            'message' => 'Data Type has been updated',
54
            'type'    => 'success',
55
        ]);
56
    }
57
58
    /**
59
     * Remove the Data Field Type
60
     */
61
    public function destroy($id)
62
    {
63
        $type = DataFieldType::find($id);
64
        $this->authorize('create', EquipmentType::class);
65
        $type->delete();
66
67
        event(new EquipmentDataTypeDeletedEvent($type));
68
        return back()->with([
69
            'message' => 'Data Type has been deleted',
70
            'type'    => 'warning',
71
        ]);
72
    }
73
}
74