Private
Public Access
1
0

first attempt for ps api

This commit is contained in:
Sander Roosendaal
2021-01-29 09:18:19 +01:00
parent 4d52d1b37c
commit b6ccc3236a
5 changed files with 93 additions and 4 deletions

View File

@@ -11,7 +11,7 @@ from django.views.decorators.csrf import csrf_exempt
from django.utils.decorators import method_decorator
from rowers.models import (
Workout,Rower,FavoriteChart,VirtualRaceResult,
VirtualRace,StandardCollection,CourseStandard,GeoCourse,
VirtualRace,StandardCollection,CourseStandard,GeoCourse,PlannedSession,
)
from rest_framework import routers, serializers, viewsets,permissions
@@ -24,7 +24,8 @@ from django.utils.decorators import method_decorator
from rowers.permissions import (
IsOwnerOrNot,IsOwnerOrReadOnly,
IsCompetitorOrNot,
IsCompetitorOrNot,IsRowerOrNot,
IsPlanOrHigher,
)
from rowers.serializers import (
WorkoutSerializer,
@@ -38,6 +39,7 @@ from rowers.serializers import (
GeoCourseSerializer,
GeoPolygonSerializer,
GeoPointSerializer,
PlannedSessionSerializer,
)
from oauth2_provider.views import (
@@ -49,6 +51,25 @@ from oauth2_provider.views.base import (
RevokeTokenView
)
class PlannedSessionViewSet(viewsets.ModelViewSet):
model = PlannedSession
serializer_class = PlannedSessionSerializer
def get_queryset(self):
try:
r = Rower.objects.get(user=self.request.user)
if r.rowerplan not in ['basic','pro']:
return PlannedSession.objects.filter(rower=r).order_by("-preferreddate")
else:
return []
except TypeError:
return []
permission_classes = (
IsRowerOrNot,
IsPlanOrHigher,
)
class WorkoutViewSet(viewsets.ModelViewSet):
model = Workout
#queryset = Workout.objects.all().order_by("-date", "-starttime")
@@ -175,6 +196,7 @@ class StrokeDataViewSet(viewsets.ModelViewSet):
# Routers provide an easy way of automatically determining the URL conf.
router = routers.DefaultRouter()
router.register(r'api/workouts',WorkoutViewSet, 'workout')
router.register(r'api/plannedsessions',PlannedSessionViewSet,'plannedsession')
router.register(r'api/me',RowerViewSet, 'rower')
router.register(r'api/charts',FavoriteChartViewSet, 'charts')
router.register(r'api/entries',EntryViewSet,'entries')