Skip to content

Commit 890ed8a

Browse files
committed
correcciones para editar datos de profesional
1 parent f593a21 commit 890ed8a

1 file changed

Lines changed: 23 additions & 33 deletions

File tree

core/tm/routes/profesional.ts

Lines changed: 23 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
import { AndesDrive } from '@andes/drive';
22
import { EventCore } from '@andes/event-bus';
33
import { log } from '@andes/log';
4-
import * as base64 from 'base64-stream';
54
import * as express from 'express';
65
import * as fs from 'fs';
76
import { Types } from 'mongoose';
8-
import * as stream from 'stream';
97
import { Auth } from '../../../auth/auth.class';
108
import { findUser, updateEmailUser } from '../../../auth/auth.controller';
11-
import { PacienteAppCtr } from '../../../../api/modules/mobileApp/pacienteApp.routes';
9+
import { PacienteApp } from '../../../../api/modules/mobileApp/schemas/pacienteApp';
1210
import { sendSms } from '../../../utils/roboSender/sendSms';
1311
import { makePattern, toArray } from '../../../utils/utils';
1412
import { streamToBase64 } from '../controller/file-storage';
@@ -24,13 +22,8 @@ import { profesion } from '../schemas/profesion_model';
2422
import { defaultLimit, maxLimit } from './../../../config';
2523
import { userScheduler } from './../../../config.private';
2624
import { getTemporyTokenGenerarUsuario } from '../../../auth/auth.controller';
27-
import { services } from '../../../services';
28-
import { Matching } from '@andes/match';
29-
import { mpi, algoritmo } from './../../../config';
30-
3125
import moment = require('moment');
3226

33-
3427
const router = express.Router();
3528

3629
router.get('/profesionales/ultimoPosgrado', async (req, res, next) => {
@@ -942,37 +935,34 @@ router.patch('/profesionales/update/:id?', Auth.authenticate(), async (req, res,
942935
}
943936

944937
if (req.body.domicilios || req.body.domiciliosMobile) {
945-
const idProfesional = req.body.domicilios?.idProfesional ? req.body.domicilios.idProfesional : req.body.domiciliosMobile.idProfesional;
938+
const idProfesional = req.body.domicilios?.idProfesional || req.body.domiciliosMobile.idProfesional;
946939
const profesional: any = await Profesional.findById(idProfesional);
947-
if (req.body.domiciliosMobile.contactos) {
948-
let emailUpdate;
949-
let telefonoUpdate;
950-
let fijoUpdate;
951-
const indexEmail = req.body.domiciliosMobile.contactos.findIndex(item => item.tipo === 'email');
952-
if (indexEmail >= 0) {
953-
emailUpdate = req.body.domiciliosMobile.contactos[indexEmail].valor;
954-
await updateEmailUser(profesional.documento, req.body.domiciliosMobile.contactos[indexEmail].valor);
955-
}
956-
const indexTelefono = req.body.domiciliosMobile.contactos.findIndex(item => item.tipo === 'celular');
957-
if (indexTelefono >= 0) {
958-
telefonoUpdate = req.body.domiciliosMobile.contactos[indexTelefono].valor;
959-
}
960-
const indexFijo = req.body.domiciliosMobile.contactos.findIndex(item => item.tipo === 'fijo');
961-
if (indexFijo >= 0) {
962-
fijoUpdate = req.body.domiciliosMobile.contactos[indexTelefono].valor;
963-
}
964-
const pacienteApp = await PacienteAppCtr.findOne({ documento: profesional.documento });
965-
await PacienteAppCtr.update(
966-
pacienteApp._id,
940+
941+
if (req.body.domiciliosMobile?.contactos) {
942+
const contactosMobile = req.body.domiciliosMobile.contactos;
943+
const pacienteAppData: any = {};
944+
945+
contactosMobile.map(async (contacto) => {
946+
pacienteAppData[contacto.tipo] = contacto.valor;
947+
if (contacto.tipo === 'email') {
948+
// actualizamos email del usuario de andes correspondiente al profesional
949+
await updateEmailUser(profesional.documento, contacto.valor);
950+
}
951+
});
952+
953+
const profesionalApp = await PacienteApp.findOne({ profesionalId: idProfesional });
954+
// actualizamos los datos del usuario profesional de la app mobile
955+
// el email no debe cambiar ya que por defecto es el documento del profesional
956+
await PacienteApp.update(
957+
{ _id: Types.ObjectId(profesionalApp._id) },
967958
{
968-
email: emailUpdate ? emailUpdate : pacienteApp.email,
969-
telefono: telefonoUpdate ? telefonoUpdate : pacienteApp.telefono,
970-
fijo: fijoUpdate ? fijoUpdate : pacienteApp.fijo
959+
telefono: pacienteAppData.celular,
960+
fijo: pacienteAppData.fijo
971961
},
972962
req
973963
);
974964
}
975-
profesional.contactos = req.body.domiciliosMobile?.contactos ? req.body.domiciliosMobile.contactos : profesional.contactos;
965+
profesional.contactos = req.body.domiciliosMobile?.contactos || profesional.contactos;
976966
if (req.body.domiciliosMobile?.domicilios) {
977967
profesional.domicilios = req.body.domiciliosMobile.domicilios;
978968
}

0 commit comments

Comments
 (0)