mirror of
https://github.com/rjNemo/graphql_python_template
synced 2026-06-06 02:26:47 +00:00
add delete user mutation
This commit is contained in:
parent
d9018897b5
commit
cef01bdb89
4 changed files with 42 additions and 1 deletions
|
|
@ -4,3 +4,4 @@ from .delete_todo import DeleteTodo
|
||||||
from .update_todo import UpdateTodo
|
from .update_todo import UpdateTodo
|
||||||
from .create_user import CreateUser
|
from .create_user import CreateUser
|
||||||
from .update_user import UpdateUser
|
from .update_user import UpdateUser
|
||||||
|
from .delete_user import DeleteUser
|
||||||
|
|
|
||||||
20
app/schema/mutations/delete_user.py
Normal file
20
app/schema/mutations/delete_user.py
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
import graphene
|
||||||
|
|
||||||
|
from app.schema.types.user import UserResponseField
|
||||||
|
from app.usecases.user.delete_user import delete_user
|
||||||
|
|
||||||
|
|
||||||
|
class DeleteUser(graphene.Mutation):
|
||||||
|
class Arguments:
|
||||||
|
user_id = graphene.String(required=True)
|
||||||
|
|
||||||
|
result = graphene.Field(UserResponseField)
|
||||||
|
|
||||||
|
def mutate(self, info, user_id: str):
|
||||||
|
user, is_success = delete_user(user_id)
|
||||||
|
error_message = "This user does not exist." if not is_success else None
|
||||||
|
return DeleteUser(
|
||||||
|
UserResponseField(
|
||||||
|
user=user, is_success=is_success, error_message=error_message
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
@ -1,6 +1,14 @@
|
||||||
import graphene
|
import graphene
|
||||||
|
|
||||||
from . import CreateTodo, DeleteTodo, UpdateTodo, CloseTodo, CreateUser, UpdateUser
|
from . import (
|
||||||
|
CreateTodo,
|
||||||
|
DeleteTodo,
|
||||||
|
UpdateTodo,
|
||||||
|
CloseTodo,
|
||||||
|
CreateUser,
|
||||||
|
UpdateUser,
|
||||||
|
DeleteUser,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class Mutations(graphene.ObjectType):
|
class Mutations(graphene.ObjectType):
|
||||||
|
|
@ -12,3 +20,4 @@ class Mutations(graphene.ObjectType):
|
||||||
# user
|
# user
|
||||||
create_user = CreateUser.Field()
|
create_user = CreateUser.Field()
|
||||||
update_user = UpdateUser.Field()
|
update_user = UpdateUser.Field()
|
||||||
|
delete_user = DeleteUser.Field()
|
||||||
|
|
|
||||||
11
app/usecases/user/delete_user.py
Normal file
11
app/usecases/user/delete_user.py
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
from typing import Tuple
|
||||||
|
|
||||||
|
from app.models.user import User
|
||||||
|
from app.repositories.users import user_exists, remove_user
|
||||||
|
|
||||||
|
|
||||||
|
def delete_user(user_id: str) -> Tuple[User, bool]:
|
||||||
|
if not user_exists(user_id):
|
||||||
|
return None, False
|
||||||
|
|
||||||
|
return remove_user(user_id), True
|
||||||
Loading…
Reference in a new issue