28 lines
980 B
JavaScript
28 lines
980 B
JavaScript
|
|
import bcrypt from "bcryptjs";
|
||
|
|
import dotenv from "dotenv";
|
||
|
|
import { BackendError } from "../util/backendError.js";
|
||
|
|
import * as usuarioRepository from "../repositories/usuarioRepository.js";
|
||
|
|
|
||
|
|
dotenv.config()
|
||
|
|
|
||
|
|
export async function listar(){
|
||
|
|
return usuarioRepository.findAll();
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function criar(dados){
|
||
|
|
const usuarioExiste = await usuarioRepository.findByEmail(dados.email);
|
||
|
|
if (usuarioExiste){
|
||
|
|
throw new BackendError("E-mail do usuário já existe", 409);
|
||
|
|
}
|
||
|
|
|
||
|
|
const senha_criptografada = await bcrypt.hash(dados.senha, 10);
|
||
|
|
|
||
|
|
const usuario = await usuarioRepository.create({nome : dados.nome,
|
||
|
|
email : dados.email,
|
||
|
|
senha : senha_criptografada,
|
||
|
|
perfil_id : dados.perfil_id })
|
||
|
|
delete usuario.senha;
|
||
|
|
return usuario;
|
||
|
|
}
|
||
|
|
|