feat: Implement createUser mutation
This commit is contained in:
@@ -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,
|
||||||
};
|
};
|
||||||
|
28
packages/backend/src/graphql/mutations/create-user.ee.ts
Normal file
28
packages/backend/src/graphql/mutations/create-user.ee.ts
Normal 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;
|
@@ -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
|
||||||
|
@@ -29,6 +29,7 @@ const authentication = shield(
|
|||||||
Mutation: {
|
Mutation: {
|
||||||
'*': isAuthenticated,
|
'*': isAuthenticated,
|
||||||
login: allow,
|
login: allow,
|
||||||
|
createUser: allow,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user