Organize better

This commit is contained in:
2023-11-29 21:58:33 +01:00
parent d1c3ac6079
commit fde93cb875
11 changed files with 175 additions and 74 deletions

View File

@ -1,82 +1,30 @@
import graphene
from graphene_django import DjangoObjectType
from .models import Device as DeviceModel
from .models import Edition as EditionModel
from .models import Game as GameModel
from .models import Platform as PlatformModel
from .models import Purchase as PurchaseModel
from .models import Session as SessionModel
from games.graphql.mutations import GameMutation
from games.graphql.queries import (
DeviceQuery,
EditionQuery,
GameQuery,
PlatformQuery,
PurchaseQuery,
SessionQuery,
)
class Game(DjangoObjectType):
class Meta:
model = GameModel
fields = "__all__"
class Query(
GameQuery,
EditionQuery,
DeviceQuery,
PlatformQuery,
PurchaseQuery,
SessionQuery,
graphene.ObjectType,
):
pass
class Edition(DjangoObjectType):
class Meta:
model = EditionModel
fields = "__all__"
class Mutation(GameMutation, graphene.ObjectType):
pass
class Purchase(DjangoObjectType):
class Meta:
model = PurchaseModel
fields = "__all__"
class Session(DjangoObjectType):
class Meta:
model = SessionModel
fields = "__all__"
class Platform(DjangoObjectType):
class Meta:
model = PlatformModel
fields = "__all__"
class Device(DjangoObjectType):
class Meta:
model = DeviceModel
fields = "__all__"
class Query(graphene.ObjectType):
games = graphene.List(Game)
game_by_name = graphene.Field(Game, name=graphene.String(required=True))
purchases = graphene.List(Purchase)
editions = graphene.List(Edition)
sessions = graphene.List(Session)
platforms = graphene.List(Platform)
devices = graphene.List(Device)
def resolve_games(self, info, **kwargs):
return GameModel.objects.all()
def resolve_game_by_name(self, info, name):
try:
return GameModel.objects.get(name=name)
except GameModel.DoesNotExist:
return None
def resolve_editions(self, info, **kwargs):
return EditionModel.objects.all()
def resolve_purchases(self, info, **kwargs):
return PurchaseModel.objects.all()
def resolve_sessions(self, info, **kwargs):
return SessionModel.objects.all()
def resolve_platforms(self, info, **kwargs):
return PlatformModel.objects.all()
def resolve_devices(self, info, **kwargs):
return DeviceModel.objects.all()
schema = graphene.Schema(query=Query)
schema = graphene.Schema(query=Query, mutation=Mutation)