const nome = _req.getString("nome"); const crm = _req.getString("crm"); const especialidades = _req.getList("especialidades"); const convenios = _req.getList("convenios"); const dbMedico = _db.form("medico") .where(_db.where("c_r_m").equal(crm)) .first(); if (dbMedico) { _header.status(409); _out.json({ insertedData: 0, error: "esse CRM já está cadastrado no sistema" }); _exec.stop(); } for (const especialidade_uid of especialidades) { const dbEspecialidade = _db.form("especialidade") .where(_db.where("uid").equal(especialidade_uid)) .first(); if (!dbEspecialidade) { _header.status(404); _out.json({result: false, error: true, reason: "especialidade-não-encontrada"}); _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( "medico", _val.map() .set("nome", nome) .set("c_r_m", crm) ); const medico_id = _db.form("medico") .where(_db.where("c_r_m").equal(crm)) .first() .get("id"); for (const especialidade_uid of especialidades) { const especialidade_id = _db.form("especialidade") .where(_db.where("uid").equal(especialidade_uid)) .first() .get("id"); _db.insertIfNotExists( "medico_especialidade", { medico_id, especialidade_id } ); } for (const convenio_uid of convenios) { const convenio_id = _db.form("convenio") .where(_db.where("uid").equal(convenio_uid)) .first() .get("id"); _db.insertIfNotExists( "medico_convenio", { medico_id, convenio_id } ); } _out.json({insertedData});