Private
Public Access
1
0

added virtual challenge related data to API

This commit is contained in:
Sander Roosendaal
2020-07-18 11:31:34 +02:00
parent 8f50d24b40
commit fb831743e3
5 changed files with 159 additions and 13 deletions

View File

@@ -7,7 +7,11 @@ from __future__ import unicode_literals
# Also optionally define POST, PATCH methods (create, update)
from rest_framework import serializers
from rowers.models import Workout,Rower,FavoriteChart
from rowers.models import (
Workout,Rower,FavoriteChart,VirtualRaceResult,
VirtualRace,GeoCourse,StandardCollection, CourseStandard,
)
import datetime
@@ -42,7 +46,80 @@ class FavoriteChartSerializer(serializers.ModelSerializer):
'reststrokes',
'user'
)
class CourseStandardSerializer(serializers.ModelSerializer):
class Meta:
model = CourseStandard
fields = (
'id',
'name',
'coursedistance',
'coursetime',
'agemin',
'agemax',
'boatclass',
'boattype',
'sex',
'weightclass',
'adaptiveclass',
'skillclass',
'standardcollection',
)
class StandardCollectionSerializer(serializers.ModelSerializer):
standards = CourseStandardSerializer(many=True,read_only=True)
class Meta:
model = StandardCollection
fields = (
'id',
'notes',
'active',
'standards'
)
class EntrySerializer(serializers.ModelSerializer):
entrycategory = CourseStandardSerializer(read_only=True)
class Meta:
model = VirtualRaceResult
fields = (
'id',
'teamname',
'adaptiveclass',
'skillclass',
'race',
'distance',
'duration',
'points',
'boattype',
'sex',
'age',
'entrycategory',
)
class VirtualRaceSerializer(serializers.ModelSerializer):
coursestandards = StandardCollectionSerializer(read_only=True)
class Meta:
model = VirtualRace
fields = (
'id',
'registration_closure',
'evaluation_closure',
'start_time',
'end_time',
'country',
'timezone',
'contact_phone',
'contact_email',
'coursestandards',
)
class WorkoutSerializer(serializers.ModelSerializer):
class Meta:
model = Workout
@@ -58,7 +135,7 @@ class WorkoutSerializer(serializers.ModelSerializer):
'maxhr',
'notes',
'summary',
'boattype',
'boattype',
'timezone',
'forceunit',
'inboard',
@@ -101,7 +178,7 @@ class WorkoutSerializer(serializers.ModelSerializer):
rankingpiece=validated_data['rankingpiece'],)
w.save()
return w
def update(self, instance, validated_data):
d = validated_data['date']
t = validated_data['starttime']
@@ -138,7 +215,7 @@ class WorkoutSerializer(serializers.ModelSerializer):
class StrokeDataSerializer(serializers.Serializer):
workoutid = serializers.IntegerField
strokedata = serializers.JSONField
def create(self, workoutid, strokedata):
"""
Create and enter a new set of stroke data into the DB
@@ -146,6 +223,3 @@ class StrokeDataSerializer(serializers.Serializer):
# do something
return 1