create user mutation

This commit is contained in:
Ruidy 2020-11-07 21:55:56 +01:00
parent fa3bfd32c0
commit 4cb328d9d8
5 changed files with 27 additions and 2 deletions

View file

@ -2,3 +2,4 @@ from .close_todo import CloseTodo
from .create_todo import CreateTodo
from .delete_todo import DeleteTodo
from .update_todo import UpdateTodo
from .create_user import CreateUser

View file

@ -0,0 +1,15 @@
import graphene
from app.schema.types.user import UserResponseField
from app.usecases.user.create_user import create_user
class CreateUser(graphene.Mutation):
class Arguments:
username = graphene.String()
result = graphene.Field(UserResponseField)
def mutate(self, info, username: str):
user = create_user(username)
return CreateUser(UserResponseField(user=user))

View file

@ -1,10 +1,13 @@
import graphene
from . import CreateTodo, DeleteTodo, UpdateTodo, CloseTodo
from . import CreateTodo, DeleteTodo, UpdateTodo, CloseTodo, CreateUser
class Mutations(graphene.ObjectType):
# todos
create_todo = CreateTodo.Field()
update_todo = UpdateTodo.Field()
delete_todo = DeleteTodo.Field()
close_todo = CloseTodo.Field()
# user
create_user = CreateUser.Field()

View file

@ -1,8 +1,8 @@
import graphene
from app.schema.types.todo import TodoListResponseField, TodoResponseField
from .todo import resolve_get_todo, resolve_list_todos
from .user import resolve_list_users, resolve_get_user
from ..types.todo import TodoListResponseField, TodoResponseField
from ..types.user import UserListResponseField, UserResponseField

View file

@ -0,0 +1,6 @@
from app.models.user import User
from app.repositories.users import add_user
def create_user(username: str) -> User:
return add_user(username)