Coverage for vocabs/api_views.py: 100%
28 statements
« prev ^ index » next coverage.py v7.6.0, created at 2024-07-27 11:19 +0000
« prev ^ index » next coverage.py v7.6.0, created at 2024-07-27 11:19 +0000
1from rest_framework import viewsets
2from rest_framework import pagination
3from django_filters.rest_framework import DjangoFilterBackend
4from .models import SkosConcept, SkosConceptScheme, SkosLabel, SkosNamespace
5from .serializers import (
6 SkosLabelSerializer,
7 SkosNamespaceSerializer,
8 SkosConceptSchemeSerializer,
9 SkosConceptSerializer,
10)
11from .filters import SkosConceptFilter
12from .api_renderers import RDFRenderer
13from rest_framework.settings import api_settings
16class LargeResultsSetPagination(pagination.PageNumberPagination):
17 page_size = 25
18 page_size_query_param = "page_size"
19 max_page_size = 10000
22class SkosLabelViewSet(viewsets.ModelViewSet):
24 queryset = SkosLabel.objects.all()
25 serializer_class = SkosLabelSerializer
28class SkosNamespaceViewSet(viewsets.ModelViewSet):
30 queryset = SkosNamespace.objects.all()
31 serializer_class = SkosNamespaceSerializer
34class SkosConceptSchemeViewSet(viewsets.ModelViewSet):
36 queryset = SkosConceptScheme.objects.all()
37 serializer_class = SkosConceptSchemeSerializer
40class SkosConceptViewSet(viewsets.ModelViewSet):
42 queryset = SkosConcept.objects.all()
43 serializer_class = SkosConceptSerializer
44 filter_backends = (DjangoFilterBackend,)
45 filterset_class = SkosConceptFilter
46 pagination_class = LargeResultsSetPagination
48 renderer_classes = tuple(api_settings.DEFAULT_RENDERER_CLASSES) + (RDFRenderer,)