added virtual challenge related data to API
This commit is contained in:
@@ -7,7 +7,10 @@ from django.conf.urls import url, include
|
||||
from django.urls import path, re_path
|
||||
from django.contrib.auth.models import User
|
||||
from django.contrib.auth.decorators import login_required, permission_required
|
||||
from rowers.models import Workout,Rower,FavoriteChart
|
||||
from rowers.models import (
|
||||
Workout,Rower,FavoriteChart,VirtualRaceResult,
|
||||
VirtualRace,StandardCollection,CourseStandard,
|
||||
)
|
||||
|
||||
from rest_framework import routers, serializers, viewsets,permissions
|
||||
from rest_framework.urlpatterns import format_suffix_patterns
|
||||
@@ -16,12 +19,19 @@ from rowers import views
|
||||
from django.contrib.auth import views as auth_views
|
||||
from django.views.generic.base import TemplateView
|
||||
|
||||
from rowers.permissions import IsOwnerOrNot,IsOwnerOrReadOnly
|
||||
from rowers.permissions import (
|
||||
IsOwnerOrNot,IsOwnerOrReadOnly,
|
||||
IsCompetitorOrNot,
|
||||
)
|
||||
from rowers.serializers import (
|
||||
WorkoutSerializer,
|
||||
RowerSerializer,
|
||||
StrokeDataSerializer,
|
||||
FavoriteChartSerializer,
|
||||
EntrySerializer,
|
||||
CourseStandardSerializer,
|
||||
StandardCollectionSerializer,
|
||||
VirtualRaceSerializer,
|
||||
)
|
||||
|
||||
from oauth2_provider.views import (
|
||||
@@ -78,7 +88,7 @@ class FavoriteChartViewSet(viewsets.ModelViewSet):
|
||||
|
||||
def get_queryset(self):
|
||||
try:
|
||||
r = Rower.objects.filter(user=self.request.user)
|
||||
r = Rower.objects.get(user=self.request.user)
|
||||
return FavoriteChart.objects.filter(user=r)
|
||||
except TypeError:
|
||||
return []
|
||||
@@ -89,6 +99,59 @@ class FavoriteChartViewSet(viewsets.ModelViewSet):
|
||||
|
||||
http_method_names = ['get','put','patch','delete']
|
||||
|
||||
class EntryViewSet(viewsets.ModelViewSet):
|
||||
model = VirtualRaceResult
|
||||
serializer_class = EntrySerializer
|
||||
|
||||
def get_queryset(self):
|
||||
try:
|
||||
return VirtualRaceResult.objects.filter(userid=self.request.user.id)
|
||||
except TypeError:
|
||||
return []
|
||||
|
||||
http_method_names = ['get']
|
||||
|
||||
permission_classes = (
|
||||
IsCompetitorOrNot,
|
||||
)
|
||||
|
||||
class VirtualRaceViewSet(viewsets.ModelViewSet):
|
||||
model = VirtualRace
|
||||
serializer_class = VirtualRaceSerializer
|
||||
|
||||
def get_queryset(self):
|
||||
try:
|
||||
return VirtualRace.objects.all()
|
||||
except TypeError:
|
||||
return []
|
||||
|
||||
http_method_names = ['get']
|
||||
|
||||
class CourseStandardViewSet(viewsets.ModelViewSet):
|
||||
model = CourseStandard
|
||||
serializer_class = CourseStandardSerializer
|
||||
|
||||
def get_queryset(self):
|
||||
try:
|
||||
return CourseStandard.objects.all()
|
||||
except TypeError:
|
||||
return []
|
||||
|
||||
http_method_names = ['get']
|
||||
|
||||
class StandardCollectionViewSet(viewsets.ModelViewSet):
|
||||
model = StandardCollection
|
||||
|
||||
serializer_class = StandardCollectionSerializer
|
||||
|
||||
def get_queryset(self):
|
||||
try:
|
||||
return StandardCollection.objects.all()
|
||||
except TypeError:
|
||||
return []
|
||||
|
||||
http_method_names = ['get']
|
||||
|
||||
class StrokeDataViewSet(viewsets.ModelViewSet):
|
||||
serializer_class = StrokeDataSerializer
|
||||
|
||||
@@ -97,6 +160,10 @@ router = routers.DefaultRouter()
|
||||
router.register(r'api/workouts',WorkoutViewSet, 'workout')
|
||||
router.register(r'api/me',RowerViewSet, 'rower')
|
||||
router.register(r'api/charts',FavoriteChartViewSet, 'charts')
|
||||
router.register(r'api/entries',EntryViewSet,'entries')
|
||||
router.register(r'api/challenges',VirtualRaceViewSet,'challenges')
|
||||
router.register(r'api/standards',CourseStandardViewSet,'standards')
|
||||
router.register(r'api/standardcollections',StandardCollectionViewSet,'standardcollections')
|
||||
|
||||
def permissiondenied_view(request):
|
||||
raise PermissionDenied
|
||||
|
||||
Reference in New Issue
Block a user