diff --git a/packages/backend/src/graphql/mutations/delete-user.ee.ts b/packages/backend/src/graphql/mutations/delete-user.ee.ts index b1f83097..3e894030 100644 --- a/packages/backend/src/graphql/mutations/delete-user.ee.ts +++ b/packages/backend/src/graphql/mutations/delete-user.ee.ts @@ -1,20 +1,11 @@ -import User from '../../models/user'; +import Context from '../../types/express/context'; import deleteUserQueue from '../../queues/delete-user.ee'; import { Duration } from 'luxon'; -type Params = { - input: { - id: string; - }; -}; +const deleteUser = async (_parent: unknown, params: never, context: Context) => { + const id = context.currentUser.id; -const deleteUser = async (_parent: unknown, params: Params) => { - const { id } = params.input; - await User - .query() - .findById(id) - .delete() - .throwIfNotFound(); + await context.currentUser.$query().delete(); const jobName = `Delete user - ${id}`; const jobPayload = { id }; diff --git a/packages/backend/src/graphql/schema.graphql b/packages/backend/src/graphql/schema.graphql index d40af41f..7e421f6e 100644 --- a/packages/backend/src/graphql/schema.graphql +++ b/packages/backend/src/graphql/schema.graphql @@ -54,7 +54,7 @@ type Mutation { updateStep(input: UpdateStepInput): Step deleteStep(input: DeleteStepInput): Step createUser(input: CreateUserInput): User - deleteUser(input: DeleteUserInput): Boolean + deleteUser: Boolean updateUser(input: UpdateUserInput): User forgotPassword(input: ForgotPasswordInput): Boolean resetPassword(input: ResetPasswordInput): Boolean @@ -340,10 +340,6 @@ input CreateUserInput { password: String! } -input DeleteUserInput { - id: String -} - input UpdateUserInput { email: String password: String diff --git a/packages/web/src/components/DeleteAccountDialog/index.ee.tsx b/packages/web/src/components/DeleteAccountDialog/index.ee.tsx index 75cd5577..59b9f308 100644 --- a/packages/web/src/components/DeleteAccountDialog/index.ee.tsx +++ b/packages/web/src/components/DeleteAccountDialog/index.ee.tsx @@ -27,13 +27,7 @@ export default function DeleteAccountDialog(props: TDeleteAccountDialogProps) { const navigate = useNavigate(); const handleConfirm = React.useCallback(async () => { - await deleteUser({ - variables: { - input: { - id: currentUser.id, - } - } - }); + await deleteUser(); authentication.updateToken(''); await apolloClient.clearStore(); diff --git a/packages/web/src/graphql/mutations/delete-user.ee.ts b/packages/web/src/graphql/mutations/delete-user.ee.ts index ed187077..462174eb 100644 --- a/packages/web/src/graphql/mutations/delete-user.ee.ts +++ b/packages/web/src/graphql/mutations/delete-user.ee.ts @@ -1,7 +1,7 @@ import { gql } from '@apollo/client'; export const DELETE_USER = gql` - mutation DeleteUser($input: DeleteUserInput) { - deleteUser(input: $input) + mutation DeleteUser { + deleteUser } `;