Archived
jr bk2ch6 #4
@@ -18,15 +18,22 @@ from django.conf.urls import include
|
|||||||
from django.urls import path
|
from django.urls import path
|
||||||
from levelupapi.views import register_user, login_user
|
from levelupapi.views import register_user, login_user
|
||||||
from rest_framework import routers
|
from rest_framework import routers
|
||||||
|
from levelupapi.views.games import GameView
|
||||||
from levelupapi.views.game_type import GameTypeView
|
from levelupapi.views.game_type import GameTypeView
|
||||||
|
from levelupapi.views.events import EventView
|
||||||
|
|
||||||
router = routers.DefaultRouter(trailing_slash=False)
|
router = routers.DefaultRouter(trailing_slash=False)
|
||||||
router.register(r'gametypes', GameTypeView, 'gametype')
|
router.register(r'gametypes', GameTypeView, 'gametype')
|
||||||
|
router.register(r'games', GameView, 'game')
|
||||||
|
router.register(r'events', EventView, 'event')
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('register', register_user),
|
path('register', register_user),
|
||||||
path('login', login_user),
|
path('login', login_user),
|
||||||
|
path('api-auth', include('rest_framework.urls', namespace='rest_framework')),
|
||||||
path('', include(router.urls)),
|
path('', include(router.urls)),
|
||||||
path('admin/', admin.site.urls),
|
path('admin/', admin.site.urls),
|
||||||
|
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
+2
-4
@@ -1,4 +1,2 @@
|
|||||||
|
UPDATE levelupapi_game SET game_type_id = 3
|
||||||
SELECT * FROM auth_user;
|
WHERE title = 'World of Warcraft';
|
||||||
SELECT * FROM authtoken_token;
|
|
||||||
SELECT * FROM levelupapi_gamer;
|
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model": "levelupapi.game",
|
"model": "levelupapi.game",
|
||||||
"pk": 2,
|
"pk": 3,
|
||||||
"fields": {
|
"fields": {
|
||||||
"game_type": 2,
|
"game_type": 2,
|
||||||
"title": "World of Warcraft",
|
"title": "World of Warcraft",
|
||||||
|
|||||||
@@ -1 +1,3 @@
|
|||||||
from .auth import login_user, register_user
|
from .auth import login_user, register_user
|
||||||
|
from .game_type import GameTypeView
|
||||||
|
from .games import GameView
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
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 Event
|
||||||
|
|
||||||
|
class EventView(ViewSet):
|
||||||
|
"""Level up event types view"""
|
||||||
|
|
||||||
|
def retrieve(self, request, pk):
|
||||||
|
"""Handle GET requests for single event type
|
||||||
|
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
Response -- JSON serialized event type
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
game_type = Event.objects.get(pk=pk)
|
||||||
|
serializer = EventSerializer(game_type)
|
||||||
|
return Response(serializer.data)
|
||||||
|
except Event.DoesNotExist as ex:
|
||||||
|
return Response({'message': ex.args[0]}, status=status.HTTP_404_NOT_FOUND)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def list(self, request):
|
||||||
|
"""Handle GET requests to get all event types
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
Response -- JSON serialized list of event types
|
||||||
|
"""
|
||||||
|
events = Event.objects.all()
|
||||||
|
|
||||||
|
# Add in the next 3 lines
|
||||||
|
game = request.query_params.get('game_id', None)
|
||||||
|
if game is not None:
|
||||||
|
events = events.filter(game_id=game)
|
||||||
|
serializer = EventSerializer(events, many=True)
|
||||||
|
return Response(serializer.data)
|
||||||
|
|
||||||
|
class EventSerializer(serializers.ModelSerializer):
|
||||||
|
"""JSON serializer for event types
|
||||||
|
"""
|
||||||
|
class Meta:
|
||||||
|
model = Event
|
||||||
|
fields = ('id', 'description', 'date', 'time', 'game_id', 'organizer_id')
|
||||||
|
depth = 2
|
||||||
@@ -1,9 +1,11 @@
|
|||||||
"""View module for handling requests about game types"""
|
"""View module for handling requests about game types"""
|
||||||
|
from cProfile import label
|
||||||
|
from pickle import NONE
|
||||||
from django.http import HttpResponseServerError
|
from django.http import HttpResponseServerError
|
||||||
from rest_framework.viewsets import ViewSet
|
from rest_framework.viewsets import ViewSet
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
from rest_framework import serializers, status
|
from rest_framework import serializers, status
|
||||||
from levelupapi.models import GameType
|
from levelupapi.models import GameType, game_type
|
||||||
|
|
||||||
|
|
||||||
class GameTypeView(ViewSet):
|
class GameTypeView(ViewSet):
|
||||||
@@ -16,10 +18,12 @@ class GameTypeView(ViewSet):
|
|||||||
Returns:
|
Returns:
|
||||||
Response -- JSON serialized game type
|
Response -- JSON serialized game type
|
||||||
"""
|
"""
|
||||||
game_type = GameType.objects.get(pk=pk)
|
try:
|
||||||
serializer = GameTypeSerializer(game_type)
|
game_type = GameType.objects.get(pk=pk)
|
||||||
return Response(serializer.data)
|
serializer = GameTypeSerializer(game_type)
|
||||||
|
return Response(serializer.data)
|
||||||
|
except GameType.DoesNotExist as ex:
|
||||||
|
return Response({'message': ex.args[0]}, status=status.HTTP_404_NOT_FOUND)
|
||||||
|
|
||||||
def list(self, request):
|
def list(self, request):
|
||||||
"""Handle GET requests to get all game types
|
"""Handle GET requests to get all game types
|
||||||
@@ -27,7 +31,10 @@ class GameTypeView(ViewSet):
|
|||||||
Returns:
|
Returns:
|
||||||
Response -- JSON serialized list of game types
|
Response -- JSON serialized list of game types
|
||||||
"""
|
"""
|
||||||
|
label = request.query_params.get('label', None)
|
||||||
game_types = GameType.objects.all()
|
game_types = GameType.objects.all()
|
||||||
|
if label is not NONE:
|
||||||
|
game_types = game_types.filter(label=label)
|
||||||
serializer = GameTypeSerializer(game_types, many=True)
|
serializer = GameTypeSerializer(game_types, many=True)
|
||||||
return Response(serializer.data)
|
return Response(serializer.data)
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,47 @@
|
|||||||
|
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 Game
|
||||||
|
|
||||||
|
class GameView(ViewSet):
|
||||||
|
"""Level up game s view"""
|
||||||
|
|
||||||
|
def retrieve(self, request, pk):
|
||||||
|
"""Handle GET requests for single game
|
||||||
|
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
Response -- JSON serialized game
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
# Add in the next 3 lines
|
||||||
|
try:
|
||||||
|
game = Game.objects.get(pk=pk)
|
||||||
|
serializer = GameSerializer(game)
|
||||||
|
return Response(serializer.data)
|
||||||
|
except Game.DoesNotExist as ex:
|
||||||
|
return Response({'message': ex.args[0]}, status=status.HTTP_404_NOT_FOUND)
|
||||||
|
|
||||||
|
|
||||||
|
def list(self, request):
|
||||||
|
"""Handle GET requests to get all game s
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
Response -- JSON serialized list of game s
|
||||||
|
"""
|
||||||
|
game_ = request.query_params.get('type', None)
|
||||||
|
games = Game.objects.all()
|
||||||
|
if game_ is not None:
|
||||||
|
games = games.filter(game_type_id=game_)
|
||||||
|
serializer = GameSerializer(games, many=True)
|
||||||
|
return Response(serializer.data)
|
||||||
|
|
||||||
|
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
|
||||||
Reference in New Issue
Block a user