Merge ch5 changes #3

Merged
JMR-dev merged 2 commits from jr-bk2ch5 into main 2022-02-08 15:28:43 +00:00
3 changed files with 56 additions and 1 deletions
+9
View File
@@ -0,0 +1,9 @@
{
"version": "0.2",
"ignorePaths": [],
"dictionaryDefinitions": [],
"dictionaries": [],
"words": [],
"ignoreWords": [],
"import": []
}
+8 -1
View File
@@ -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),
]
]
+39
View File
@@ -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')