Code Duplication    Length = 21-22 lines in 2 locations

src/Bridge/Doctrine/MongoDB/Extension/PaginationExtension.php 1 location

@@ 58-79 (lines=22) @@
55
    /**
56
     * {@inheritdoc}
57
     */
58
    public function applyToCollection(Builder $queryBuilder, string $resourceClass, string $operationName = null)
59
    {
60
        $request = $this->requestStack->getCurrentRequest();
61
        if (null === $request) {
62
            return;
63
        }
64
65
        $resourceMetadata = $this->resourceMetadataFactory->create($resourceClass);
66
        if (!$this->isPaginationEnabled($request, $resourceMetadata, $operationName)) {
67
            return;
68
        }
69
70
        $itemsPerPage = $resourceMetadata->getCollectionOperationAttribute($operationName, 'pagination_items_per_page', $this->itemsPerPage, true);
71
        if ($resourceMetadata->getCollectionOperationAttribute($operationName, 'pagination_client_items_per_page', $this->clientItemsPerPage, true)) {
72
            $itemsPerPage = (int) $request->query->get($this->itemsPerPageParameterName, $itemsPerPage);
73
        }
74
75
        $queryBuilder
76
            ->skip(($request->query->get($this->pageParameterName, 1) - 1) * $itemsPerPage)
77
            ->limit($itemsPerPage)
78
        ;
79
    }
80
81
    /**
82
     * {@inheritdoc}

src/Bridge/Doctrine/Orm/Extension/PaginationExtension.php 1 location

@@ 60-80 (lines=21) @@
57
    /**
58
     * {@inheritdoc}
59
     */
60
    public function applyToCollection(QueryBuilder $queryBuilder, string $resourceClass, string $operationName = null)
61
    {
62
        $request = $this->requestStack->getCurrentRequest();
63
        if (null === $request) {
64
            return;
65
        }
66
67
        $resourceMetadata = $this->resourceMetadataFactory->create($resourceClass);
68
        if (!$this->isPaginationEnabled($request, $resourceMetadata, $operationName)) {
69
            return;
70
        }
71
72
        $itemsPerPage = $resourceMetadata->getCollectionOperationAttribute($operationName, 'pagination_items_per_page', $this->itemsPerPage, true);
73
        if ($resourceMetadata->getCollectionOperationAttribute($operationName, 'pagination_client_items_per_page', $this->clientItemsPerPage, true)) {
74
            $itemsPerPage = (int) $request->query->get($this->itemsPerPageParameterName, $itemsPerPage);
75
        }
76
77
        $queryBuilder
78
            ->setFirstResult(($request->query->get($this->pageParameterName, 1) - 1) * $itemsPerPage)
79
            ->setMaxResults($itemsPerPage);
80
    }
81
82
    /**
83
     * {@inheritdoc}