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/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 +] + 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')