64 lines
1.7 KiB
Python
64 lines
1.7 KiB
Python
# Copyright (C) 2020 by Animath
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
from rest_framework import serializers
|
|
|
|
from ..models import Note, Participation, Passage, Pool, Solution, Synthesis, Team, Tournament
|
|
|
|
|
|
class NoteSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Note
|
|
fields = '__all__'
|
|
|
|
|
|
class ParticipationSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Participation
|
|
fields = '__all__'
|
|
|
|
|
|
class PassageSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Passage
|
|
fields = '__all__'
|
|
|
|
|
|
class PoolSerializer(serializers.ModelSerializer):
|
|
passages = serializers.ListSerializer(child=PassageSerializer(), read_only=True)
|
|
|
|
class Meta:
|
|
model = Pool
|
|
fields = '__all__'
|
|
|
|
|
|
class SolutionSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Solution
|
|
fields = '__all__'
|
|
|
|
|
|
class SynthesisSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Synthesis
|
|
fields = '__all__'
|
|
|
|
|
|
class TeamSerializer(serializers.ModelSerializer):
|
|
participation = ParticipationSerializer()
|
|
|
|
class Meta:
|
|
model = Team
|
|
fields = '__all__'
|
|
|
|
|
|
class TournamentSerializer(serializers.ModelSerializer):
|
|
participations = serializers.ListSerializer(child=ParticipationSerializer())
|
|
|
|
class Meta:
|
|
model = Tournament
|
|
fields = ('name', 'date_start', 'date_end', 'place', 'max_teams', 'price', 'remote',
|
|
'inscription_limit', 'solution_limit', 'solutions_draw', 'syntheses_first_phase_limit',
|
|
'solutions_available_second_phase', 'syntheses_second_phase_limit',
|
|
'description', 'organizers', 'final', 'participations',)
|