Untitled

mail@pastecode.io avatar
unknown
plain_text
a month ago
1.5 kB
2
Indexable
Never
const sivicoUsuario = require('../services/autenticacao/serviceUsuario');
const { validarInformacaoDeUsuario } = require('../services/autenticacao/validacaoUsuario');

const status4 = 400;
const status2 = 200;
const status21 = 201;

const adiconarUsuario = async (request, response) => {
  const validarErro = validarInformacaoDeUsuario(request.body);
  if (validarErro) {
    return response.status(status4).json({ message: validarErro });
  }
  const { displayName, email, password, image } = request.body;

  const respe = await sivicoUsuario.criandoNovoUsuario({ displayName, email, password, image });

  if (respe.error) {
    const { error } = respe;
    const statusDoCodigo = error === 'User already registered' ? 409 : 500;
    return response.status(statusDoCodigo).json({ message: error });
  }
  return response.status(status21).json(respe);
};

const todosOsUsuarios = async (_req, res) => {
  const usuarios = await sivicoUsuario.todosOsUsuarios();
  res.status(status2).json(usuarios);
};

const idDeUsuario = async (req, res) => {
  const { id } = req.params;
  if (Number.isNaN(Number(id))) return res.status(status4).json({ message: 'Invalid Id' });
  const usuario = await sivicoUsuario.usuarioPorId(id);
  if (usuario.error) {
    const statusCode = usuario.error === 'User does not exist' ? 404 : 500;
    return res.status(statusCode).json({ message: usuario.error });
  }

  return res.status(status2).json(usuario);
};

module.exports = {
  adiconarUsuario,
  todosOsUsuarios,
  idDeUsuario,
};
Leave a Comment