Organize better
This commit is contained in:
1
games/graphql/mutations/__init__.py
Normal file
1
games/graphql/mutations/__init__.py
Normal file
@ -0,0 +1 @@
|
||||
from .game import Mutation as GameMutation
|
29
games/graphql/mutations/game.py
Normal file
29
games/graphql/mutations/game.py
Normal file
@ -0,0 +1,29 @@
|
||||
import graphene
|
||||
|
||||
from games.graphql.types import Game
|
||||
from games.models import Game as GameModel
|
||||
|
||||
|
||||
class UpdateGameMutation(graphene.Mutation):
|
||||
class Arguments:
|
||||
id = graphene.ID(required=True)
|
||||
name = graphene.String()
|
||||
year_released = graphene.Int()
|
||||
wikidata = graphene.String()
|
||||
|
||||
game = graphene.Field(Game)
|
||||
|
||||
def mutate(self, info, id, name=None, year_released=None, wikidata=None):
|
||||
game_instance = GameModel.objects.get(pk=id)
|
||||
if name is not None:
|
||||
game_instance.name = name
|
||||
if year_released is not None:
|
||||
game_instance.year_released = year_released
|
||||
if wikidata is not None:
|
||||
game_instance.wikidata = wikidata
|
||||
game_instance.save()
|
||||
return UpdateGameMutation(game=game_instance)
|
||||
|
||||
|
||||
class Mutation(graphene.ObjectType):
|
||||
update_game = UpdateGameMutation.Field()
|
Reference in New Issue
Block a user