2020-02-06 22:44:59 +00:00
|
|
|
# -*- mode: python; coding: utf-8 -*-
|
|
|
|
# Copyright (C) 2018-2020 by BDE ENS Paris-Saclay
|
|
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
|
2020-02-06 22:43:56 +00:00
|
|
|
from .models import Profile, Club, Role, Membership
|
|
|
|
from rest_framework import serializers, viewsets
|
|
|
|
|
|
|
|
class ProfileSerializer(serializers.HyperlinkedModelSerializer):
|
2020-02-06 23:29:04 +00:00
|
|
|
"""
|
|
|
|
REST API Serializer for Profiles.
|
|
|
|
The djangorestframework plugin will analyse the model `Profile` and parse all fields in the API.
|
|
|
|
"""
|
2020-02-06 22:43:56 +00:00
|
|
|
class Meta:
|
|
|
|
model = Profile
|
|
|
|
fields = '__all__'
|
|
|
|
|
|
|
|
|
|
|
|
class ProfileViewSet(viewsets.ModelViewSet):
|
2020-02-06 23:29:04 +00:00
|
|
|
"""
|
|
|
|
REST API View set.
|
|
|
|
The djangorestframework plugin will get all `Profile` objects, serialize it to JSON with the given serializer,
|
|
|
|
then render it on /api/members/profile/
|
|
|
|
"""
|
2020-02-06 22:43:56 +00:00
|
|
|
queryset = Profile.objects.all()
|
|
|
|
serializer_class = ProfileSerializer
|
|
|
|
|
|
|
|
|
|
|
|
class ClubSerializer(serializers.HyperlinkedModelSerializer):
|
2020-02-06 23:29:04 +00:00
|
|
|
"""
|
|
|
|
REST API Serializer for Clubs.
|
|
|
|
The djangorestframework plugin will analyse the model `Club` and parse all fields in the API.
|
|
|
|
"""
|
2020-02-06 22:43:56 +00:00
|
|
|
class Meta:
|
|
|
|
model = Club
|
|
|
|
fields = '__all__'
|
|
|
|
|
|
|
|
|
|
|
|
class ClubViewSet(viewsets.ModelViewSet):
|
2020-02-06 23:29:04 +00:00
|
|
|
"""
|
|
|
|
REST API View set.
|
|
|
|
The djangorestframework plugin will get all `Club` objects, serialize it to JSON with the given serializer,
|
|
|
|
then render it on /api/members/club/
|
|
|
|
"""
|
2020-02-06 22:43:56 +00:00
|
|
|
queryset = Club.objects.all()
|
|
|
|
serializer_class = ClubSerializer
|
|
|
|
|
|
|
|
|
|
|
|
class RoleSerializer(serializers.HyperlinkedModelSerializer):
|
2020-02-06 23:29:04 +00:00
|
|
|
"""
|
|
|
|
REST API Serializer for Roles.
|
|
|
|
The djangorestframework plugin will analyse the model `Role` and parse all fields in the API.
|
|
|
|
"""
|
2020-02-06 22:43:56 +00:00
|
|
|
class Meta:
|
|
|
|
model = Role
|
|
|
|
fields = '__all__'
|
|
|
|
|
|
|
|
|
|
|
|
class RoleViewSet(viewsets.ModelViewSet):
|
2020-02-06 23:29:04 +00:00
|
|
|
"""
|
|
|
|
REST API View set.
|
|
|
|
The djangorestframework plugin will get all `Role` objects, serialize it to JSON with the given serializer,
|
|
|
|
then render it on /api/members/role/
|
|
|
|
"""
|
2020-02-06 22:43:56 +00:00
|
|
|
queryset = Role.objects.all()
|
|
|
|
serializer_class = RoleSerializer
|
|
|
|
|
|
|
|
|
|
|
|
class MembershipSerializer(serializers.HyperlinkedModelSerializer):
|
2020-02-06 23:29:04 +00:00
|
|
|
"""
|
|
|
|
REST API Serializer for Memberships.
|
|
|
|
The djangorestframework plugin will analyse the model `Memberships` and parse all fields in the API.
|
|
|
|
"""
|
2020-02-06 22:43:56 +00:00
|
|
|
class Meta:
|
|
|
|
model = Membership
|
|
|
|
fields = '__all__'
|
|
|
|
|
|
|
|
|
|
|
|
class MembershipViewSet(viewsets.ModelViewSet):
|
2020-02-06 23:29:04 +00:00
|
|
|
"""
|
|
|
|
REST API View set.
|
|
|
|
The djangorestframework plugin will get all `Membership` objects, serialize it to JSON with the given serializer,
|
|
|
|
then render it on /api/members/membership/
|
|
|
|
"""
|
2020-02-06 22:43:56 +00:00
|
|
|
queryset = Membership.objects.all()
|
|
|
|
serializer_class = MembershipSerializer
|
|
|
|
|