54 lines
1.4 KiB
Python
54 lines
1.4 KiB
Python
# Copyright (C) 2020 by Animath
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
from django.contrib.auth.models import User
|
|
from rest_framework import serializers
|
|
from rest_polymorphic.serializers import PolymorphicSerializer
|
|
|
|
from ..models import CoachRegistration, ParticipantRegistration, \
|
|
Payment, StudentRegistration, VolunteerRegistration
|
|
|
|
|
|
class CoachSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = CoachRegistration
|
|
fields = '__all__'
|
|
|
|
|
|
class ParticipantSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = ParticipantRegistration
|
|
fields = '__all__'
|
|
|
|
|
|
class StudentSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = StudentRegistration
|
|
fields = '__all__'
|
|
|
|
|
|
class VolunteerSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = VolunteerRegistration
|
|
fields = '__all__'
|
|
|
|
|
|
class RegistrationSerializer(PolymorphicSerializer):
|
|
model_serializer_mapping = {
|
|
CoachRegistration: CoachSerializer,
|
|
StudentRegistration: StudentSerializer,
|
|
VolunteerRegistration: VolunteerSerializer,
|
|
}
|
|
|
|
|
|
class PaymentSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Payment
|
|
fields = '__all__'
|
|
|
|
|
|
class BasicUserSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = User
|
|
fields = ['id', 'first_name', 'last_name', 'email', ]
|