Bom dia <@U024DS62DRC>, fiz assim agora, fiz o tes...
# orm-help
o
Bom dia @Nurul, fiz assim agora, fiz o teste pelo Insomnia e funcionou, porém ele apenas não retorna a mensagem caso o Usuário já exista. Você poderia me enviar um exemplo? Te agradeço muito!!!
Copy code
import { 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 };
n
Can you try this?
Copy code
import { 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 };
o
Muito obrigado meu amigo. Irei testar. Valeu mesmo.
Boa noite meu amigo! Fiz o teste aqui e funcionou, porém, como faço para o erro "User already exists" aparecer no Insomnia e não no console?
Este erro quero que ele apareça no Insomnia.
Por mais que ele deu certo, no Insomnia está retornando o erro 201 Createad
👍 1