Browse Source

feat: cadastrar paciente com os convênios que ele tem

master
Henrique-Sousa 3 weeks ago
parent
commit
da74e9d152
3 changed files with 47 additions and 2 deletions
  1. BIN
      dbs/clinica.mv.db
  2. +17
    -2
      server/services/pacientes/post.in.json
  3. +30
    -0
      server/services/pacientes/post.js

BIN
dbs/clinica.mv.db View File


+ 17
- 2
server/services/pacientes/post.in.json View File

@ -23,9 +23,24 @@
},
"telefone": {
"type": "string"
},
"convenios": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"nome", "cpf", "rg", "data_de_nascimento", "endereco", "telefone"
]
"nome", "cpf", "rg", "data_de_nascimento", "endereco", "telefone", "convenios"
],
"example": {
"nome": "José da Silva",
"cpf": "123-456-789-01",
"rg": "12.345.678",
"data_de_nascimento": "1970-03-20",
"endereco": "Rua das Flores, 123, Bairro Central, São Paulo, SP, 01000-000",
"telefone": "(31) 91234-5678",
"convenios": ["7ded552a-07cf-4f7b-bee4-6947944ec324"]
}
}

+ 30
- 0
server/services/pacientes/post.js View File

@ -4,6 +4,7 @@ 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))
@ -15,6 +16,18 @@ if (dbPaciente) {
_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()
@ -26,4 +39,21 @@ const insertedData = _db.insertIfNotExists(
.set("telefone", telefone)
);
const paciente_id = _db.form('paciente')
.where(_db.where('c_p_f').equal(cpf))
.first()
.get('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(
'paciente_convenio',
{ paciente_id, convenio_id }
);
}
_out.json({insertedData})

Loading…
Cancel
Save