mirror of
https://github.com/rjNemo/federation
synced 2026-06-06 02:06:39 +00:00
25 lines
717 B
Python
25 lines
717 B
Python
from ariadne import MutationType, convert_kwargs_to_snake_case
|
|
|
|
from user.models.user import User, UserResponse, UserInput
|
|
|
|
mutation = MutationType()
|
|
|
|
|
|
def create_user(user_input: UserInput) -> User:
|
|
"""Create a user
|
|
|
|
:param user_input: validated user input object
|
|
:return: user newly created
|
|
"""
|
|
return User(name=user_input.name)
|
|
|
|
|
|
@mutation.field("createUser")
|
|
@convert_kwargs_to_snake_case
|
|
def resolve_create_user(*_, user_data: dict) -> UserResponse:
|
|
try:
|
|
user_input = UserInput(name=user_data["name"])
|
|
user = create_user(user_input)
|
|
return UserResponse(user=user)
|
|
except ValueError as error:
|
|
return UserResponse(success=False, errorMessage=str(error))
|