feat: add deleteUser mutation

This commit is contained in:
Ali BARIN
2023-03-02 15:26:06 +00:00
parent b51d9bb17b
commit e06b646f49
3 changed files with 38 additions and 0 deletions

View File

@@ -13,6 +13,7 @@ import createStep from './mutations/create-step';
import updateStep from './mutations/update-step'; import updateStep from './mutations/update-step';
import deleteStep from './mutations/delete-step'; import deleteStep from './mutations/delete-step';
import createUser from './mutations/create-user.ee'; import createUser from './mutations/create-user.ee';
import deleteUser from './mutations/delete-user.ee';
import updateUser from './mutations/update-user'; import updateUser from './mutations/update-user';
import forgotPassword from './mutations/forgot-password.ee'; import forgotPassword from './mutations/forgot-password.ee';
import resetPassword from './mutations/reset-password.ee'; import resetPassword from './mutations/reset-password.ee';
@@ -34,6 +35,7 @@ const mutationResolvers = {
updateStep, updateStep,
deleteStep, deleteStep,
createUser, createUser,
deleteUser,
updateUser, updateUser,
forgotPassword, forgotPassword,
resetPassword, resetPassword,

View File

@@ -0,0 +1,31 @@
import User from '../../models/user';
import deleteUserQueue from '../../queues/delete-user.ee';
import { Duration } from 'luxon';
type Params = {
input: {
id: string;
};
};
const deleteUser = async (_parent: unknown, params: Params) => {
const { id } = params.input;
await User
.query()
.findById(id)
.delete()
.throwIfNotFound();
const jobName = `Delete user - ${id}`;
const jobPayload = { id };
const millisecondsFor30Days = Duration.fromObject({ days: 30 }).toMillis();
const jobOptions = {
delay: millisecondsFor30Days
};
await deleteUserQueue.add(jobName, jobPayload, jobOptions);
return true;
};
export default deleteUser;

View File

@@ -54,6 +54,7 @@ type Mutation {
updateStep(input: UpdateStepInput): Step updateStep(input: UpdateStepInput): Step
deleteStep(input: DeleteStepInput): Step deleteStep(input: DeleteStepInput): Step
createUser(input: CreateUserInput): User createUser(input: CreateUserInput): User
deleteUser(input: DeleteUserInput): Boolean
updateUser(input: UpdateUserInput): User updateUser(input: UpdateUserInput): User
forgotPassword(input: ForgotPasswordInput): Boolean forgotPassword(input: ForgotPasswordInput): Boolean
resetPassword(input: ResetPasswordInput): Boolean resetPassword(input: ResetPasswordInput): Boolean
@@ -339,6 +340,10 @@ input CreateUserInput {
password: String! password: String!
} }
input DeleteUserInput {
id: String
}
input UpdateUserInput { input UpdateUserInput {
email: String email: String
password: String password: String