diff --git a/vrobbler/apps/sports/api/__init__.py b/vrobbler/apps/sports/api/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/vrobbler/apps/sports/api/serializers.py b/vrobbler/apps/sports/api/serializers.py new file mode 100644 index 0000000..9f6c7c7 --- /dev/null +++ b/vrobbler/apps/sports/api/serializers.py @@ -0,0 +1,52 @@ +from rest_framework import serializers +from sports.models import ( + League, + SportEvent, + Round, + Player, + Team, + Season, + Sport, +) + + +class SportEventSerializer(serializers.HyperlinkedModelSerializer): + class Meta: + model = SportEvent + fields = "__all__" + + +class LeagueSerializer(serializers.HyperlinkedModelSerializer): + class Meta: + model = League + fields = "__all__" + + +class RoundSerializer(serializers.HyperlinkedModelSerializer): + class Meta: + model = Round + fields = "__all__" + + +class PlayerSerializer(serializers.HyperlinkedModelSerializer): + class Meta: + model = Player + fields = "__all__" + + +class TeamSerializer(serializers.HyperlinkedModelSerializer): + class Meta: + model = Team + fields = "__all__" + + +class SeasonSerializer(serializers.HyperlinkedModelSerializer): + class Meta: + model = Season + fields = "__all__" + + +class SportSerializer(serializers.HyperlinkedModelSerializer): + class Meta: + model = Sport + fields = "__all__" diff --git a/vrobbler/apps/sports/api/views.py b/vrobbler/apps/sports/api/views.py new file mode 100644 index 0000000..30e1d47 --- /dev/null +++ b/vrobbler/apps/sports/api/views.py @@ -0,0 +1,61 @@ +from rest_framework import permissions, viewsets +from sports.api.serializers import ( + LeagueSerializer, + PlayerSerializer, + RoundSerializer, + SeasonSerializer, + SportEventSerializer, + SportSerializer, + TeamSerializer, +) +from sports.models import ( + League, + Player, + Round, + Season, + Sport, + SportEvent, + Team, +) + + +class SportEventViewSet(viewsets.ModelViewSet): + queryset = SportEvent.objects.all().order_by('-created') + serializer_class = SportEventSerializer + permission_classes = [permissions.IsAuthenticated] + + +class LeagueViewSet(viewsets.ModelViewSet): + queryset = League.objects.all().order_by('-created') + serializer_class = LeagueSerializer + permission_classes = [permissions.IsAuthenticated] + + +class RoundViewSet(viewsets.ModelViewSet): + queryset = Round.objects.all().order_by('-created') + serializer_class = RoundSerializer + permission_classes = [permissions.IsAuthenticated] + + +class SportViewSet(viewsets.ModelViewSet): + queryset = Sport.objects.all().order_by('-created') + serializer_class = SportSerializer + permission_classes = [permissions.IsAuthenticated] + + +class PlayerViewSet(viewsets.ModelViewSet): + queryset = Player.objects.all().order_by('-created') + serializer_class = PlayerSerializer + permission_classes = [permissions.IsAuthenticated] + + +class TeamViewSet(viewsets.ModelViewSet): + queryset = Team.objects.all().order_by('-created') + serializer_class = TeamSerializer + permission_classes = [permissions.IsAuthenticated] + + +class SeasonViewSet(viewsets.ModelViewSet): + queryset = Season.objects.all().order_by('-created') + serializer_class = SeasonSerializer + permission_classes = [permissions.IsAuthenticated] diff --git a/vrobbler/urls.py b/vrobbler/urls.py index e121f72..24bd473 100644 --- a/vrobbler/urls.py +++ b/vrobbler/urls.py @@ -20,6 +20,15 @@ from vrobbler.apps.scrobbles.api.views import ( LastFmImportViewSet, ScrobbleViewSet, ) +from vrobbler.apps.sports.api.views import ( + LeagueViewSet, + PlayerViewSet, + RoundViewSet, + SeasonViewSet, + SportEventViewSet, + SportViewSet, + TeamViewSet, +) from vrobbler.apps.videos import urls as video_urls from vrobbler.apps.videos.api.views import SeriesViewSet, VideoViewSet @@ -35,6 +44,12 @@ router.register(r'series', SeriesViewSet) router.register(r'videos', VideoViewSet) router.register(r'authors', AuthorViewSet) router.register(r'books', BookViewSet) +router.register(r'leagues', LeagueViewSet) +router.register(r'sports', SportViewSet) +router.register(r'seasons', SeasonViewSet) +router.register(r'players', PlayerViewSet) +router.register(r'sport-events', SportEventViewSet) +router.register(r'teams', TeamViewSet) router.register(r'users', UserViewSet) router.register(r'user_profiles', UserProfileViewSet)