Completed
Push — master ( 8e707c...9307a2 )
by Maarten
01:15
created

RelationsController::create()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 12
rs 9.8666
c 0
b 0
f 0
cc 1
nc 1
nop 1
1
<?php
2
3
namespace Mtolhuys\LaravelSchematics\Http\Controllers;
4
5
use Illuminate\Contracts\Routing\ResponseFactory;
6
use Mtolhuys\LaravelSchematics\Actions\DeleteRelationAction;
7
use Mtolhuys\LaravelSchematics\Actions\CreateRelationAction;
8
use Mtolhuys\LaravelSchematics\Http\Requests\CreateRelationRequest;
9
use Mtolhuys\LaravelSchematics\Http\Requests\DeleteRelationRequest;
10
use Symfony\Component\HttpFoundation\Response;
11
use Illuminate\Support\Facades\Cache;
12
use Illuminate\Routing\Controller;
13
use ReflectionException;
14
15
class RelationsController extends Controller
16
{
17
18
    /**
19
     * @param CreateRelationRequest $request
20
     * @return array
21
     * @throws ReflectionException
22
     */
23
    public function create(CreateRelationRequest $request)
24
    {
25
        $relation = $request->all();
26
        $result = (new CreateRelationAction())->execute($relation);
27
28
        Cache::forget('schematics');
29
30
        $relation['method']['file'] = $result->file;
31
        $relation['method']['line'] = $result->line;
32
33
        return $relation;
34
    }
35
36
    /**
37
     * @param DeleteRelationRequest $request
38
     * @return ResponseFactory|\Illuminate\Http\Response|Response
39
     */
40
    public function delete(DeleteRelationRequest $request)
41
    {
42
        (new DeleteRelationAction())->execute($request->all());
43
44
        Cache::forget('schematics');
45
46
        return response('Relation removed', 200);
47
    }
48
}
49