From a544aab3b6de0b42f082050d1b41f732ee2a1043 Mon Sep 17 00:00:00 2001 From: bytesparallel Date: Tue, 8 Feb 2022 09:24:28 -0600 Subject: [PATCH 1/2] Completed chapter 5 --- levelup/urls.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/levelup/urls.py b/levelup/urls.py index 01c8ce8..1f4b38d 100644 --- a/levelup/urls.py +++ b/levelup/urls.py @@ -17,9 +17,16 @@ from django.contrib import admin from django.conf.urls import include from django.urls import path from levelupapi.views import register_user, login_user +from rest_framework import routers +from levelupapi.views.game_type import GameTypeView + +router = routers.DefaultRouter(trailing_slash=False) +router.register(r'gametypes', GameTypeView, 'gametype') urlpatterns = [ path('register', register_user), path('login', login_user), + path('', include(router.urls)), path('admin/', admin.site.urls), -] \ No newline at end of file +] + -- 2.47.3 From f4692fcbaefa8245d4f80ed05de983cb6f44d84e Mon Sep 17 00:00:00 2001 From: bytesparallel Date: Tue, 8 Feb 2022 09:26:09 -0600 Subject: [PATCH 2/2] added missing files --- cspell.json | 9 ++++++++ levelupapi/views/game_type.py | 39 +++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 cspell.json create mode 100644 levelupapi/views/game_type.py diff --git a/cspell.json b/cspell.json new file mode 100644 index 0000000..3abaf2c --- /dev/null +++ b/cspell.json @@ -0,0 +1,9 @@ +{ + "version": "0.2", + "ignorePaths": [], + "dictionaryDefinitions": [], + "dictionaries": [], + "words": [], + "ignoreWords": [], + "import": [] +} diff --git a/levelupapi/views/game_type.py b/levelupapi/views/game_type.py new file mode 100644 index 0000000..8fcfd12 --- /dev/null +++ b/levelupapi/views/game_type.py @@ -0,0 +1,39 @@ +"""View module for handling requests about game types""" +from django.http import HttpResponseServerError +from rest_framework.viewsets import ViewSet +from rest_framework.response import Response +from rest_framework import serializers, status +from levelupapi.models import GameType + + +class GameTypeView(ViewSet): + """Level up game types view""" + + def retrieve(self, request, pk): + """Handle GET requests for single game type + + + Returns: + Response -- JSON serialized game type + """ + game_type = GameType.objects.get(pk=pk) + serializer = GameTypeSerializer(game_type) + return Response(serializer.data) + + + def list(self, request): + """Handle GET requests to get all game types + + Returns: + Response -- JSON serialized list of game types + """ + game_types = GameType.objects.all() + serializer = GameTypeSerializer(game_types, many=True) + return Response(serializer.data) + +class GameTypeSerializer(serializers.ModelSerializer): + """JSON serializer for game types + """ + class Meta: + model = GameType + fields = ('id', 'label') -- 2.47.3