Skip to content

Commit 6899c27

Browse files
committed
Fix pagination
Signed-off-by: Tushar Goel <tushar.goel.dav@gmail.com>
1 parent 2670b03 commit 6899c27

3 files changed

Lines changed: 15 additions & 12 deletions

File tree

vulnerabilities/api.py

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
from django.db.models import Prefetch
1313
from django_filters import rest_framework as filters
1414
from packageurl import PackageURL
15+
from rest_framework import pagination
1516
from rest_framework import serializers
1617
from rest_framework import viewsets
1718
from rest_framework.decorators import action
@@ -175,9 +176,9 @@ def filter_purl(self, queryset, name, value):
175176

176177

177178
class PackageViewSet(viewsets.ReadOnlyModelViewSet):
178-
queryset = Package.objects.all()
179+
queryset = Package.objects.all().order_by("id")
179180
serializer_class = PackageSerializer
180-
paginate_by = 50
181+
pagination.PageNumberPagination.page_size = 10
181182
filter_backends = (filters.DjangoFilterBackend,)
182183
filterset_class = PackageFilterSet
183184

@@ -249,10 +250,10 @@ def get_queryset(self):
249250
queryset=self.get_fixed_packages_qs(),
250251
to_attr="filtered_fixed_packages",
251252
)
252-
)
253+
).order_by("id")
253254

254255
serializer_class = VulnerabilitySerializer
255-
paginate_by = 50
256+
pagination.PageNumberPagination.page_size = 10
256257
filter_backends = (filters.DjangoFilterBackend,)
257258
filterset_class = VulnerabilityFilterSet
258259

@@ -266,11 +267,13 @@ def filter_cpe(self, queryset, name, value):
266267

267268

268269
class CPEViewSet(viewsets.ReadOnlyModelViewSet):
269-
queryset = Vulnerability.objects.filter(
270-
vulnerabilityreference__reference_id__startswith="cpe"
271-
).distinct()
270+
queryset = (
271+
Vulnerability.objects.filter(vulnerabilityreference__reference_id__startswith="cpe")
272+
.distinct()
273+
.order_by("id")
274+
)
272275
serializer_class = VulnerabilitySerializer
273-
paginate_by = 50
276+
pagination.PageNumberPagination.page_size = 10
274277
filter_backends = (filters.DjangoFilterBackend,)
275278
filterset_class = CPEFilterSet
276279

@@ -284,8 +287,8 @@ def filter_alias(self, queryset, name, value):
284287

285288

286289
class AliasViewSet(viewsets.ReadOnlyModelViewSet):
287-
queryset = Vulnerability.objects.all()
290+
queryset = Vulnerability.objects.all().order_by("id")
288291
serializer_class = VulnerabilitySerializer
289-
paginate_by = 50
292+
pagination.PageNumberPagination.page_size = 10
290293
filter_backends = (filters.DjangoFilterBackend,)
291294
filterset_class = AliasFilterSet

vulnerabilities/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ def alias(self):
8383
Returns packages that first received patch against this vulnerability
8484
in their particular version history.
8585
"""
86-
return self.aliases.all()
86+
return self.aliases.all().order_by("-alias")
8787

8888
def __str__(self):
8989
return self.vulnerability_id

vulnerablecode/settings.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,5 +160,5 @@
160160
"rest_framework.filters.SearchFilter",
161161
),
162162
"DEFAULT_PAGINATION_CLASS": "rest_framework.pagination.PageNumberPagination",
163-
"PAGE_SIZE": 100,
163+
"PAGE_SIZE": 10,
164164
}

0 commit comments

Comments
 (0)