You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

47 lines
1023 B

const nome = _req.getString("nome");
const email = _req.getString("email");
const telefone = _req.getString("telefone");
const pais = _req.getString("pais");
const emailExists = _db.queryFirst(
`SELECT CASE WHEN COUNT(1) > 0 THEN TRUE ELSE FALSE END AS result FROM cliente WHERE email = ?::varchar`,
_val.init()
.add(email)
);
if (emailExists.getBoolean("result")) {
_header.status(400);
_out.json(
_val.map()
.set("error",true)
.set("message","email already exists!")
)
_exec.stop();
};
const dbPais = _db.queryFirst(`SELECT id FROM pais WHERE uid = ?::uuid`,pais);
if(dbPais == null){
_header.status(400);
_out.json(
_val.map()
.set("error", true)
.set("message","country not exists!")
);
_exec.stop();
}
_db.execute(`
INSERT INTO cliente
(nome, email, telefone, pais_id)
VALUES
(?::varchar, ?::varchar, ?::varchar, ?::int)
`,nome, email, telefone, dbPais.getInt("id"));
_header.status(201);
_out.json(
_val.map()
.set("result", true)
)