Completed
Push — master ( 6ad859...3ea301 )
by Maarten
13s queued 10s
created

ModelsController::getCreateAction()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 7
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
1
<?php
2
3
namespace Mtolhuys\LaravelSchematics\Http\Controllers;
4
5
use Mtolhuys\LaravelSchematics\Http\Controllers\Traits\HasOptionalActions;
6
use Mtolhuys\LaravelSchematics\Http\Requests\EditModelRequest;
7
use Mtolhuys\LaravelSchematics\Http\Requests\CreateModelRequest;
8
use Mtolhuys\LaravelSchematics\Http\Requests\DeleteModelRequest;
9
use Mtolhuys\LaravelSchematics\Actions\Model\CreateModelAction;
10
use Mtolhuys\LaravelSchematics\Actions\Model\DeleteModelAction;
11
use Mtolhuys\LaravelSchematics\Actions\Model\EditModelAction;
12
use Illuminate\Support\Facades\Cache;
13
use Illuminate\Routing\Controller;
14
use Illuminate\Http\Response;
15
use ReflectionException;
16
17
class ModelsController extends Controller
18
{
19
    use HasOptionalActions;
20
21
    /**
22
     * @param $request
23
     * @return Response
24
     */
25
    public function create(CreateModelRequest $request)
26
    {
27
        (new CreateModelAction())->execute($request);
28
29
        $this->optionalActions($request);
30
31
        Cache::forget('schematics');
32
33
        return response('Model created', 200);
34
    }
35
36
    /**
37
     * @param DeleteModelRequest $request
38
     * @return Response
39
     * @throws ReflectionException
40
     */
41
    public function delete(DeleteModelRequest $request)
42
    {
43
        (new DeleteModelAction())->execute($request);
44
45
        $this->optionalActions($request);
46
47
        Cache::forget('schematics');
48
49
        return response('Model deleted', 200);
50
    }
51
52
    /**
53
     * @return array
54
     */
55
    public function columns(): array
56
    {
57
        $model = request('model');
58
        $model = new $model;
59
        $table = $model->getTable();
60
61
        return \Schema::hasTable($table) ? \DB::select("describe $table") : [];
62
    }
63
64
    /**
65
     * @param EditModelRequest $request
66
     * @return Response
67
     * @throws ReflectionException
68
     */
69
    public function edit(EditModelRequest $request)
70
    {
71
        (new EditModelAction())->execute($request);
72
73
        Cache::forget('schematics');
74
75
        return response('Model changed', 200);
76
    }
77
}
78