From 25776bc59bad96fea1a51c44c8a3a089d2c81165 Mon Sep 17 00:00:00 2001 From: bytesparallel Date: Thu, 17 Feb 2022 21:54:17 -0600 Subject: [PATCH] save work for feb 17 --- levelup/urls.py | 3 +-- levelupapi/db.sql | 8 +++++++- levelupapi/views/events.py | 21 ++++++++++++++++++--- levelupapi/views/game_type.py | 4 +--- levelupapi/views/games.py | 27 ++++++++++++++++++++++++--- 5 files changed, 51 insertions(+), 12 deletions(-) diff --git a/levelup/urls.py b/levelup/urls.py index 7c65d8c..42571f6 100644 --- a/levelup/urls.py +++ b/levelup/urls.py @@ -35,5 +35,4 @@ urlpatterns = [ path('admin/', admin.site.urls), -] - +] \ No newline at end of file diff --git a/levelupapi/db.sql b/levelupapi/db.sql index 15c11a2..ac3d9bc 100644 --- a/levelupapi/db.sql +++ b/levelupapi/db.sql @@ -1,2 +1,8 @@ UPDATE levelupapi_game SET game_type_id = 3 -WHERE title = 'World of Warcraft'; \ No newline at end of file +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 \ No newline at end of file diff --git a/levelupapi/views/events.py b/levelupapi/views/events.py index 32b3aa0..7550a48 100644 --- a/levelupapi/views/events.py +++ b/levelupapi/views/events.py @@ -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 \ No newline at end of file diff --git a/levelupapi/views/game_type.py b/levelupapi/views/game_type.py index add2d19..45c5b4a 100644 --- a/levelupapi/views/game_type.py +++ b/levelupapi/views/game_type.py @@ -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) diff --git a/levelupapi/views/games.py b/levelupapi/views/games.py index 6604d8e..3546014 100644 --- a/levelupapi/views/games.py +++ b/levelupapi/views/games.py @@ -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 + + \ No newline at end of file