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.
 
 
 
 

54 lines
1.5 KiB

const nome = _req.getString("nome");
const rg = _req.getString("rg");
const cpf = _req.getString("cpf");
const data_de_nascimento = _req.getString("data_de_nascimento");
const endereco = _req.getString("endereco");
const telefone = _req.getString("telefone");
const convenios = _req.getList("convenios");
const dbPaciente = _db.form("paciente")
.where(_db.where("c_p_f").equal(cpf).or("r_g").equal(rg))
.first();
if (dbPaciente) {
_header.status(409);
_out.json({ insertedData: 0, error: "esse CPF/RG já está cadastrado no sistema" });
_exec.stop();
}
for (const convenio_uid of convenios) {
const dbConvenio = _db.form("convenio")
.where(_db.where("uid").equal(convenio_uid))
.first();
if (!dbConvenio) {
_header.status(404);
_out.json({result: false, error: true, reason: "convenio-não-encontrado"});
_exec.stop();
}
}
const insertedData = _db.insertIfNotExists(
"paciente",
_val.map()
.set("nome", nome)
.set("r_g", rg)
.set("c_p_f", cpf)
.set("data_de_nascimento", data_de_nascimento)
.set("endereco", endereco)
.set("telefone", telefone)
);
for (const convenio_uid of convenios) {
const convenio_id = _db.form("convenio")
.where(_db.where("uid").equal(convenio_uid))
.first()
.get("id");
_db.insertIfNotExists(
"paciente_convenio",
{ "paciente_id": insertedData, convenio_id }
);
}
_out.json({insertedData})