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

EmptyMovieTranslationController   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 5

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 1
lcom 0
cbo 5
dl 0
loc 28
ccs 0
cts 7
cp 0
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A getAll() 0 12 1
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