mirror of
https://github.com/rjNemo/graphql_python_template
synced 2026-06-10 12:26:47 +00:00
create user mutation
This commit is contained in:
parent
fa3bfd32c0
commit
4cb328d9d8
5 changed files with 27 additions and 2 deletions
|
|
@ -2,3 +2,4 @@ from .close_todo import CloseTodo
|
||||||
from .create_todo import CreateTodo
|
from .create_todo import CreateTodo
|
||||||
from .delete_todo import DeleteTodo
|
from .delete_todo import DeleteTodo
|
||||||
from .update_todo import UpdateTodo
|
from .update_todo import UpdateTodo
|
||||||
|
from .create_user import CreateUser
|
||||||
|
|
|
||||||
15
app/schema/mutations/create_user.py
Normal file
15
app/schema/mutations/create_user.py
Normal 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))
|
||||||
|
|
@ -1,10 +1,13 @@
|
||||||
import graphene
|
import graphene
|
||||||
|
|
||||||
from . import CreateTodo, DeleteTodo, UpdateTodo, CloseTodo
|
from . import CreateTodo, DeleteTodo, UpdateTodo, CloseTodo, CreateUser
|
||||||
|
|
||||||
|
|
||||||
class Mutations(graphene.ObjectType):
|
class Mutations(graphene.ObjectType):
|
||||||
|
# todos
|
||||||
create_todo = CreateTodo.Field()
|
create_todo = CreateTodo.Field()
|
||||||
update_todo = UpdateTodo.Field()
|
update_todo = UpdateTodo.Field()
|
||||||
delete_todo = DeleteTodo.Field()
|
delete_todo = DeleteTodo.Field()
|
||||||
close_todo = CloseTodo.Field()
|
close_todo = CloseTodo.Field()
|
||||||
|
# user
|
||||||
|
create_user = CreateUser.Field()
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
import graphene
|
import graphene
|
||||||
|
|
||||||
from app.schema.types.todo import TodoListResponseField, TodoResponseField
|
|
||||||
from .todo import resolve_get_todo, resolve_list_todos
|
from .todo import resolve_get_todo, resolve_list_todos
|
||||||
from .user import resolve_list_users, resolve_get_user
|
from .user import resolve_list_users, resolve_get_user
|
||||||
|
from ..types.todo import TodoListResponseField, TodoResponseField
|
||||||
from ..types.user import UserListResponseField, UserResponseField
|
from ..types.user import UserListResponseField, UserResponseField
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
6
app/usecases/user/create_user.py
Normal file
6
app/usecases/user/create_user.py
Normal 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)
|
||||||
Loading…
Reference in a new issue