nk20/apps/wei/api/views.py

48 lines
1.7 KiB
Python
Raw Normal View History

2020-04-11 21:02:12 +00:00
# Copyright (C) 2018-2020 by BDE ENS Paris-Saclay
# SPDX-License-Identifier: GPL-3.0-or-later
2020-04-19 23:26:53 +00:00
from django_filters.rest_framework import DjangoFilterBackend
2020-04-11 21:02:12 +00:00
from rest_framework.filters import SearchFilter
from api.viewsets import ReadProtectedModelViewSet
2020-04-13 03:02:16 +00:00
from .serializers import WEIClubSerializer, BusSerializer, BusTeamSerializer
from ..models import WEIClub, Bus, BusTeam
2020-04-11 21:02:12 +00:00
class WEIClubViewSet(ReadProtectedModelViewSet):
"""
REST API View set.
The djangorestframework plugin will get all `WEIClub` objects, serialize it to JSON with the given serializer,
then render it on /api/wei/club/
"""
queryset = WEIClub.objects.all()
serializer_class = WEIClubSerializer
2020-04-19 23:26:53 +00:00
filter_backends = [SearchFilter, DjangoFilterBackend]
2020-04-11 21:02:12 +00:00
search_fields = ['$name', ]
2020-04-19 23:26:53 +00:00
filterset_fields = ['name', 'year', ]
2020-04-13 03:02:16 +00:00
class BusViewSet(ReadProtectedModelViewSet):
"""
REST API View set.
The djangorestframework plugin will get all `Bus` objects, serialize it to JSON with the given serializer,
then render it on /api/wei/bus/
"""
queryset = Bus.objects.all()
serializer_class = BusSerializer
2020-04-19 23:26:53 +00:00
filter_backends = [SearchFilter, DjangoFilterBackend]
2020-04-13 03:02:16 +00:00
search_fields = ['$name', ]
2020-04-19 23:26:53 +00:00
filterset_fields = ['name', 'wei', ]
2020-04-13 03:02:16 +00:00
class BusTeamViewSet(ReadProtectedModelViewSet):
"""
REST API View set.
The djangorestframework plugin will get all `BusTeam` objects, serialize it to JSON with the given serializer,
then render it on /api/wei/team/
"""
queryset = BusTeam.objects.all()
serializer_class = BusTeamSerializer
2020-04-19 23:26:53 +00:00
filter_backends = [SearchFilter, DjangoFilterBackend]
2020-04-13 03:02:16 +00:00
search_fields = ['$name', ]
2020-04-19 23:26:53 +00:00
filterset_fields = ['name', 'bus', 'wei', ]