Completed
Push — master ( df0c35...7f3dc3 )
by Valentyn
03:58
created

EmptyMovieTranslationController::getAll()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 12

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 12
ccs 0
cts 7
cp 0
rs 9.8666
c 0
b 0
f 0
cc 1
nc 1
nop 3
crap 2
1
<?php
2
3
namespace App\Movies\Controller;
4
5
use App\Controller\BaseController;
6
use App\Countries\Entity\Country;
7
use App\Filters\FilterBuilder;
8
use App\Filters\Movie as Filter;
9
use App\Movies\DTO\MovieTranslationDTO;
10
use App\Movies\Entity\Movie;
11
use App\Movies\Entity\MovieTranslations;
12
use App\Movies\EventListener\SimilarMoviesProcessor;
13
use App\Movies\Repository\MovieReleaseDateRepository;
14
use App\Movies\Repository\MovieRepository;
15
use App\Movies\Request\CreateMovieRequest;
16
use App\Movies\Request\SearchRequest;
17
use App\Movies\Request\UpdateMovieRequest;
18
use App\Movies\Request\UpdatePosterRequest;
19
use App\Movies\Service\MovieManageService;
20
use App\Movies\Service\SearchService;
21
use App\Movies\Transformer\MovieTransformer;
22
use App\Movies\Utils\Poster;
23
use App\Pagination\CustomPaginatedCollection;
24
use App\Pagination\PaginatedCollection;
25
use App\Users\Entity\UserRoles;
26
use Doctrine\ORM\AbstractQuery;
27
use Enqueue\Client\ProducerInterface;
28
use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
29
use Symfony\Component\HttpFoundation\JsonResponse;
30
use Symfony\Component\HttpFoundation\Request;
31
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
32
use Symfony\Component\Routing\Annotation\Route;
33
use Symfony\Component\Validator\Validator\ValidatorInterface;
34
35
class EmptyMovieTranslationController extends BaseController
36
{
37
    /**
38
     * Get all movies without translation to specific locale
39
     *
40
     * @Route("/api/empty/movies/{locale}", methods={"GET"})
41
     *
42
     * @param Request         $request
43
     * @param MovieRepository $movieRepository
44
     * @param string  $locale
45
     *
46
     * @throws
47
     *
48
     * @return \Symfony\Component\HttpFoundation\JsonResponse
49
     */
50
    public function getAll(Request $request, MovieRepository $movieRepository, string $locale)
51
    {
52
        $moviesQuery = $movieRepository->findAllWithEmptyTranslation($locale);
53
54
        $offset = (int) $request->get('offset', 0);
55
        $limit = $request->get('limit', null);
56
57
        $moviesQuery->setHydrationMode(AbstractQuery::HYDRATE_ARRAY);
58
        $collection = new PaginatedCollection($moviesQuery, $offset, $limit);
59
60
        return $this->json($collection);
61
    }
62
}
63