Orcioly Andrade Alves
03/24/2022, 4:12 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 userAlreadyExists = await prismaClient.user.findUnique({
where: {
email,
},
});
if (userAlreadyExists) {
throw new AppError('Email address already used.');
}
const passwodHash = await hash(password, 8);
const user = await prismaClient.user.create({
data: {
name,
email,
password: passwodHash,
admin,
},
select: {
id: true,
name: true,
email: true,
admin: true,
created_at: true,
},
});
return user;
}
}
export { CreateUserService };
Nurul
03/25/2022, 9:48 AMOrcioly Andrade Alves
03/25/2022, 6:37 PMimport { 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) {
const userAlreadyExists = await prismaClient.user.findUnique({
where: {
email,
},
});
if (userAlreadyExists) {
throw new AppError('Email address already used.');
}
const passwodHash = await hash(password, 8);
const user = await prismaClient.user.create({
data: {
name,
email,
password: passwodHash,
admin,
},
select: {
id: true,
name: true,
email: true,
admin: true,
created_at: true,
},
});
return user;
}
}
export { CreateUserService };
Nurul
03/29/2022, 12:14 PMOrcioly Andrade Alves
03/29/2022, 12:17 PM