Passed
Pull Request — main (#25)
by Seth
03:52 queued 01:14
created

ReleaseNoteController   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 38
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 14
dl 0
loc 38
c 1
b 0
f 0
rs 10
wmc 5

5 Methods

Rating   Name   Duplication   Size   Complexity  
A store() 0 7 1
A destroy() 0 5 1
A show() 0 3 1
A update() 0 6 1
A index() 0 6 1
1
<?php
2
3
namespace SaasReady\Http\Controllers;
4
5
use Illuminate\Http\JsonResponse;
6
use Illuminate\Routing\Controller;
7
use SaasReady\Http\Requests\ReleaseNote\ReleaseNoteDestroyRequest;
8
use SaasReady\Http\Requests\ReleaseNote\ReleaseNoteIndexRequest;
9
use SaasReady\Http\Requests\ReleaseNote\ReleaseNoteShowRequest;
10
use SaasReady\Http\Requests\ReleaseNote\ReleaseNoteStoreRequest;
11
use SaasReady\Http\Requests\ReleaseNote\ReleaseNoteUpdateRequest;
12
use SaasReady\Http\Responses\ReleaseNoteResource;
13
use SaasReady\Models\ReleaseNote;
14
15
class ReleaseNoteController extends Controller
16
{
17
    public function index(ReleaseNoteIndexRequest $request): JsonResponse
18
    {
19
        $releaseNotes = ReleaseNote::latest();
20
21
        return ReleaseNoteResource::collection($releaseNotes->paginate($request->getLimit()))
22
            ->toResponse($request);
23
    }
24
25
    public function show(ReleaseNoteShowRequest $request, ReleaseNote $releaseNote): JsonResponse
26
    {
27
        return (new ReleaseNoteResource($releaseNote))->toResponse($request);
28
    }
29
30
    public function store(ReleaseNoteStoreRequest $request): JsonResponse
31
    {
32
        $currency = ReleaseNote::create($request->validated());
33
34
        return new JsonResponse([
35
            'uuid' => $currency->uuid,
36
        ], 201);
37
    }
38
39
    public function update(ReleaseNoteUpdateRequest $request, ReleaseNote $releaseNote): JsonResponse
40
    {
41
        $releaseNote->update($request->validated());
42
43
        return new JsonResponse([
44
            'uuid' => $releaseNote->uuid,
0 ignored issues
show
Bug introduced by
The property uuid does not seem to exist on SaasReady\Models\ReleaseNote.
Loading history...
45
        ]);
46
    }
47
48
    public function destroy(ReleaseNoteDestroyRequest $request, ReleaseNote $releaseNote): JsonResponse
49
    {
50
        $releaseNote->delete();
51
52
        return new JsonResponse();
53
    }
54
}
55