From cbff13fafe0200b32b251935f5530771170850be Mon Sep 17 00:00:00 2001 From: Mark <mark@openappstack.net> Date: Mon, 9 Sep 2019 18:44:11 +0200 Subject: [PATCH] Add create user mutation --- database/schema.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/database/schema.py b/database/schema.py index eca2ecd..d0e2ba7 100644 --- a/database/schema.py +++ b/database/schema.py @@ -12,6 +12,19 @@ class User(SQLAlchemyObjectType): exclude_fields = ("password") interfaces = (relay.Node, ) +class UserMutation(graphene.Mutation): + class Arguments: + username = graphene.String(required=True) + password = graphene.String(required=True) + email = graphene.String(required=True) + + user = graphene.Field(User) + + def mutate(self, info, username, password, email): + user = user_datastore.create_user(username=username, email=email, password=password) + user_datastore.commit() + return UserMutation(user=user) + class Application(SQLAlchemyObjectType): class Meta: model = ApplicationModel @@ -32,4 +45,8 @@ class Query(graphene.ObjectType): query = User.get_query(info) return query.filter(UserModel.username == username).first() -schema = graphene.Schema(query=Query) +class Mutation(graphene.ObjectType): + create_user = UserMutation.Field() + + +schema = graphene.Schema(query=Query, types=[User, Role, Application], mutation=Mutation) -- GitLab