diff --git a/vrobbler/apps/videogames/api/__init__.py b/vrobbler/apps/videogames/api/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/vrobbler/apps/videogames/api/serializers.py b/vrobbler/apps/videogames/api/serializers.py new file mode 100644 index 0000000..965ed59 --- /dev/null +++ b/vrobbler/apps/videogames/api/serializers.py @@ -0,0 +1,20 @@ +from rest_framework import serializers +from videogames.models import VideoGame, VideoGameCollection, VideoGamePlatform + + +class VideoGameSerializer(serializers.HyperlinkedModelSerializer): + class Meta: + model = VideoGame + fields = "__all__" + + +class VideoGameCollectionSerializer(serializers.HyperlinkedModelSerializer): + class Meta: + model = VideoGameCollection + fields = "__all__" + + +class VideoGamePlatformSerializer(serializers.HyperlinkedModelSerializer): + class Meta: + model = VideoGamePlatform + fields = "__all__" diff --git a/vrobbler/apps/videogames/api/views.py b/vrobbler/apps/videogames/api/views.py new file mode 100644 index 0000000..317c44a --- /dev/null +++ b/vrobbler/apps/videogames/api/views.py @@ -0,0 +1,21 @@ +from rest_framework import permissions, viewsets +from videogames.api import serializers +from videogames import models + + +class VideoGameViewSet(viewsets.ModelViewSet): + queryset = models.VideoGame.objects.all().order_by("-created") + serializer_class = serializers.VideoGameSerializer + permission_classes = [permissions.IsAuthenticated] + + +class VideoGameCollectionViewSet(viewsets.ModelViewSet): + queryset = models.VideoGameCollection.objects.all().order_by("-created") + serializer_class = serializers.VideoGameCollectionSerializer + permission_classes = [permissions.IsAuthenticated] + + +class VideoGamePlatformViewSet(viewsets.ModelViewSet): + queryset = models.VideoGamePlatform.objects.all().order_by("-created") + serializer_class = serializers.VideoGamePlatformSerializer + permission_classes = [permissions.IsAuthenticated] diff --git a/vrobbler/urls.py b/vrobbler/urls.py index 5fc8da7..5a34864 100644 --- a/vrobbler/urls.py +++ b/vrobbler/urls.py @@ -89,6 +89,11 @@ from vrobbler.apps.trails import urls as trails_urls from vrobbler.apps.trails.api.views import TrailViewSet from vrobbler.apps.trends import urls as trends_urls from vrobbler.apps.videogames import urls as videogame_urls +from vrobbler.apps.videogames.api.views import ( + VideoGameCollectionViewSet, + VideoGamePlatformViewSet, + VideoGameViewSet, +) from vrobbler.apps.videos import urls as video_urls from vrobbler.apps.videos.api.views import ( ChannelViewSet, @@ -151,6 +156,9 @@ router.register(r"puzzle-manufacturers", PuzzleManufacturerViewSet) router.register(r"puzzles", PuzzleViewSet) router.register(r"bricksets", BrickSetViewSet) router.register(r"lifeevents", LifeEventViewSet) +router.register(r"videogames", VideoGameViewSet) +router.register(r"videogame-collections", VideoGameCollectionViewSet) +router.register(r"videogame-platforms", VideoGamePlatformViewSet) router.register(r"birds", BirdViewSet) router.register(r"birding-locations", BirdingLocationViewSet)