Completed
Push — master ( c5110b...a167e6 )
by Valentyn
13:46
created

CountryController::getAll()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 13

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 6

Importance

Changes 0
Metric Value
dl 0
loc 13
ccs 0
cts 7
cp 0
rs 9.8333
c 0
b 0
f 0
cc 2
nc 2
nop 2
crap 6
1
<?php
2
3
namespace App\Countries\Controller;
4
5
use App\Controller\BaseController;
6
use App\Countries\Repository\CountryRepository;
7
use Symfony\Component\HttpFoundation\Request;
8
use Symfony\Component\Routing\Annotation\Route;
9
10
class CountryController extends BaseController
11
{
12
    /**
13
     * @Route("/api/countries", methods={"GET"})
14
     *
15
     * @param Request           $request
16
     * @param CountryRepository $repository
17
     *
18
     * @return \Symfony\Component\HttpFoundation\JsonResponse
19
     */
20
    public function getAll(Request $request, CountryRepository $repository)
21
    {
22
        $name = $request->get('name', null);
23
        if ($name === null) {
24
            $countries = $repository->findAll();
25
        } else {
26
            $countries = $repository->findAllByName($name);
27
        }
28
29
        return $this->json($countries, 200, [], [
30
            'context' => ['groups' => ['view', 'list']]
31
        ]);
32
    }
33
}
34