Orcioly Andrade Alves
03/22/2022, 1:15 PMimport { User } from '@prisma/client';
import { AppError } from '../shared/errors/AppError';
import prismaClient from '../prisma';
import { hash } from 'bcryptjs';
import { CreateUserDTO } from '../dtos/user/CreateUserDto';
class CreateUserService {
async execute({
_name_,
_email_,
_password_,
_admin_,
}: _CreateUserDTO_): _Promise_<_User_ | _undefined_> {
const passwodHash = await hash(_password_, 8);
const userAlreadyExists = await prismaClient.user.findUnique({
where: {
email,
},
});
if (!userAlreadyExists) {
try {
const user = await prismaClient.user.create({
data: {
name,
email,
password: passwodHash,
admin,
},
});
return user;
} catch (error) {
throw *new* AppError('User already exists!');
}
}
}
}
export { CreateUserService };
Nurul
03/22/2022, 1:46 PMimport { User } from '@prisma/client';
import { AppError } from '../shared/errors/AppError';
import prismaClient from '../prisma';
import { hash } from 'bcryptjs';
import { CreateUserDTO } from '../dtos/user/CreateUserDto';
class CreateUserService {
async execute({
name,
email,
password,
admin,
}: CreateUserDTO): Promise<User | undefined> {
try {
const passwodHash = await hash(password, 8);
const userAlreadyExists = await prismaClient.user.findUnique({
where: {
email,
},
});
if (!userAlreadyExists) {
const user = await prismaClient.user.create({
data: {
name,
email,
password: passwodHash,
admin,
},
});
return user;
} else {
throw new AppError('User already exists');
}
} catch (err) {
console.error(err);
return;
}
}
}
export { CreateUserService };
Orcioly Andrade Alves
03/22/2022, 6:42 PMOrcioly Andrade Alves
03/22/2022, 9:58 PMOrcioly Andrade Alves
03/22/2022, 10:00 PMOrcioly Andrade Alves
03/22/2022, 10:01 PMOrcioly Andrade Alves
03/22/2022, 10:30 PM