Archived
Completed server side ch 12 #5
+1
-2
@@ -35,5 +35,4 @@ urlpatterns = [
|
||||
path('admin/', admin.site.urls),
|
||||
|
||||
|
||||
]
|
||||
|
||||
]
|
||||
+7
-1
@@ -1,2 +1,8 @@
|
||||
UPDATE levelupapi_game SET game_type_id = 3
|
||||
WHERE title = 'World of Warcraft';
|
||||
WHERE title = 'World of Warcraft';
|
||||
|
||||
SELECT * FROM levelupapi_gamer
|
||||
WHERE levelupapi_gamer.id = auth_user.id;
|
||||
|
||||
INSERT INTO levelupapi_event ('description', 'date', 'time', 'game_id', 'organizer_id')
|
||||
VALUES
|
||||
@@ -46,22 +46,37 @@ class EventView(ViewSet):
|
||||
Response -- JSON serialized game instance
|
||||
"""
|
||||
organizer = Gamer.objects.get(user=request.auth.user)
|
||||
game = Game.objects.get(pk=request.data["game_id"])
|
||||
event = Event.objects.get(pk=request.data["event_id"])
|
||||
|
||||
event = Event.objects.create(
|
||||
description=request.data["description"],
|
||||
date=request.data["date"],
|
||||
time=request.data["time"],
|
||||
game_id=game.id,
|
||||
game_id=event.id,
|
||||
organizer_id= organizer.id
|
||||
)
|
||||
serializer = EventSerializer(event)
|
||||
return Response(serializer.data)
|
||||
def update(self, request, pk):
|
||||
"""Handle PUT requests for a game
|
||||
|
||||
Returns:
|
||||
Response -- Empty body with 204 status code
|
||||
"""
|
||||
|
||||
event = Event.objects.get(pk=pk)
|
||||
event.description = request.data["description"]
|
||||
event.time = request.data["time"]
|
||||
event.game_id = request.data["game_id"]
|
||||
event.organizer_id = request.data["organizer_id"]
|
||||
event.save()
|
||||
|
||||
return Response(None, status=status.HTTP_204_NO_CONTENT)
|
||||
|
||||
class EventSerializer(serializers.ModelSerializer):
|
||||
"""JSON serializer for event types
|
||||
"""
|
||||
class Meta:
|
||||
model = Event
|
||||
fields = ('id', 'description', 'date', 'time', 'game_id', 'organizer_id')
|
||||
fields = ('id', 'description', 'date', 'time', 'game', 'organizer_id')
|
||||
depth = 2
|
||||
@@ -31,10 +31,8 @@ class GameTypeView(ViewSet):
|
||||
Returns:
|
||||
Response -- JSON serialized list of game types
|
||||
"""
|
||||
label = request.query_params.get('label', None)
|
||||
|
||||
game_types = GameType.objects.all()
|
||||
if label is not NONE:
|
||||
game_types = game_types.filter(label=label)
|
||||
serializer = GameTypeSerializer(game_types, many=True)
|
||||
return Response(serializer.data)
|
||||
|
||||
|
||||
@@ -57,12 +57,33 @@ class GameView(ViewSet):
|
||||
)
|
||||
serializer = GameSerializer(game)
|
||||
return Response(serializer.data)
|
||||
|
||||
|
||||
def update(self, request, pk):
|
||||
"""Handle PUT requests for a game
|
||||
|
||||
Returns:
|
||||
Response -- Empty body with 204 status code
|
||||
"""
|
||||
|
||||
game = Game.objects.get(pk=pk)
|
||||
game.title = request.data["title"]
|
||||
game.maker = request.data["maker"]
|
||||
game.number_of_players = request.data["number_of_players"]
|
||||
game.skill_level = request.data["skill_level"]
|
||||
|
||||
game_type = GameType.objects.get(pk=request.data["game_type"])
|
||||
game.game_type = game_type
|
||||
game.save()
|
||||
|
||||
return Response(None, status=status.HTTP_204_NO_CONTENT)
|
||||
|
||||
class GameSerializer(serializers.ModelSerializer):
|
||||
"""JSON serializer for game s
|
||||
"""
|
||||
class Meta:
|
||||
model = Game
|
||||
fields = ('id', 'title', 'maker', 'number_of_players', 'skill_level', 'game_type_id', 'gamer_id')
|
||||
depth = 1
|
||||
fields = ('id', 'title', 'maker', 'number_of_players', 'skill_level', 'game_type', 'gamer_id')
|
||||
depth = 2
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user