feat: Implement createUser mutation

This commit is contained in:
Faruk AYDIN
2023-02-18 14:49:12 +01:00
parent aeec2377c1
commit b8b453aba0
4 changed files with 37 additions and 0 deletions

View File

@@ -12,6 +12,7 @@ import deleteFlow from './mutations/delete-flow';
import createStep from './mutations/create-step'; 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 updateUser from './mutations/update-user'; import updateUser from './mutations/update-user';
import login from './mutations/login'; import login from './mutations/login';
@@ -30,6 +31,7 @@ const mutationResolvers = {
createStep, createStep,
updateStep, updateStep,
deleteStep, deleteStep,
createUser,
updateUser, updateUser,
login, login,
}; };

View File

@@ -0,0 +1,28 @@
import User from '../../models/user';
type Params = {
input: {
email: string;
password: string;
};
};
const createUser = async (_parent: unknown, params: Params) => {
const { email, password } = params.input;
const existingUser = await User.query().findOne({ email });
if (existingUser) {
throw new Error('User already exists!');
}
const user = await User.query().insert({
email,
password,
role: 'user',
});
return user;
};
export default createUser;

View File

@@ -48,6 +48,7 @@ type Mutation {
createStep(input: CreateStepInput): Step createStep(input: CreateStepInput): Step
updateStep(input: UpdateStepInput): Step updateStep(input: UpdateStepInput): Step
deleteStep(input: DeleteStepInput): Step deleteStep(input: DeleteStepInput): Step
createUser(input: CreateUserInput): User
updateUser(input: UpdateUserInput): User updateUser(input: UpdateUserInput): User
login(input: LoginInput): Auth login(input: LoginInput): Auth
} }
@@ -300,6 +301,11 @@ input DeleteStepInput {
id: String! id: String!
} }
input CreateUserInput {
email: String
password: String
}
input UpdateUserInput { input UpdateUserInput {
email: String email: String
password: String password: String

View File

@@ -29,6 +29,7 @@ const authentication = shield(
Mutation: { Mutation: {
'*': isAuthenticated, '*': isAuthenticated,
login: allow, login: allow,
createUser: allow,
}, },
}, },
{ {