Passed
Pull Request — master (#10)
by Anatoly
02:48
created

EntryDeleteController   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 19
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 6
c 1
b 0
f 0
dl 0
loc 19
ccs 4
cts 4
cp 1
rs 10
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A handle() 0 7 1
1
<?php declare(strict_types=1);
2
3
namespace App\Bundle\Example\Controller;
4
5
/**
6
 * Import classes
7
 */
8
use App\ContainerAwareTrait;
9
use Arus\Http\Response\ResponseFactoryAwareTrait;
10
use Psr\Http\Message\ResponseInterface;
11
use Psr\Http\Message\ServerRequestInterface;
12
use Psr\Http\Server\RequestHandlerInterface;
13
14
/**
15
 * @Route(
16
 *   name="api_v1_entry_delete",
17
 *   path="/api/v1/entry/{entryId<@uuid>}",
18
 *   methods={"DELETE"},
19
 *   summary="Deletes an existing entry",
20
 *   tags={"entry"},
21
 * )
22
 *
23
 * @OpenApi\Operation(
24
 *   responses={
25
 *     200: @OpenApi\Response(
26
 *       description="OK",
27
 *     ),
28
 *   },
29
 * )
30
 */
31
final class EntryDeleteController implements RequestHandlerInterface
32
{
33
    use ContainerAwareTrait;
34
    use ResponseFactoryAwareTrait;
35
36
    /**
37
     * {@inheritDoc}
38
     *
39
     * @param ServerRequestInterface $request
40
     *
41
     * @return ResponseInterface
42
     */
43 2
    public function handle(ServerRequestInterface $request) : ResponseInterface
44
    {
45 2
        $entry = $this->container->get('entryManager')->findById($request->getAttribute('entryId'));
46
47 1
        $this->container->get('entryManager')->delete($entry);
48
49 1
        return $this->ok();
50
    }
51
}
52