ListTasks::handle()   B
last analyzed

Complexity

Conditions 5
Paths 1

Size

Total Lines 14
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 9
CRAP Score 5

Importance

Changes 0
Metric Value
dl 0
loc 14
rs 8.8571
c 0
b 0
f 0
ccs 9
cts 9
cp 1
cc 5
eloc 9
nc 1
nop 1
crap 5
1
<?php
2
3
namespace JobQueue\Application\Http;
4
5
use JobQueue\Domain\Task\Profile;
6
use JobQueue\Domain\Task\Status;
7
use Psr\Http\Message\ResponseInterface;
8
use Psr\Http\Message\ServerRequestInterface;
9
use Zend\Diactoros\Response\JsonResponse;
10
11
final class ListTasks extends BaseController
12
{
13
    /**
14
     *
15
     * @param ServerRequestInterface $request
16
     * @return ResponseInterface
17
     */
18 1
    public function handle(ServerRequestInterface $request): ResponseInterface
19
    {
20 1
        $queryParams = $request->getQueryParams();
21
22
        $tasks = $this
23 1
            ->queue
24 1
            ->search(
25 1
                isset($queryParams['profile']) ? new Profile($queryParams['profile']) : null,
26 1
                isset($queryParams['status']) ? new Status($queryParams['status']) : null,
27 1
                isset($queryParams['tags']) ? (array) $queryParams['tags'] : [],
28 1
                isset($queryParams['order']) ? $queryParams['order'] : 'status'
29
            );
30
31 1
        return new JsonResponse($tasks);
32
    }
33
}
34