11import { AndesDrive } from '@andes/drive' ;
22import { EventCore } from '@andes/event-bus' ;
33import { log } from '@andes/log' ;
4- import * as base64 from 'base64-stream' ;
54import * as express from 'express' ;
65import * as fs from 'fs' ;
76import { Types } from 'mongoose' ;
8- import * as stream from 'stream' ;
97import { Auth } from '../../../auth/auth.class' ;
108import { findUser , updateEmailUser } from '../../../auth/auth.controller' ;
11- import { PacienteAppCtr } from '../../../../api/modules/mobileApp/pacienteApp.routes ' ;
9+ import { PacienteApp } from '../../../../api/modules/mobileApp/schemas/ pacienteApp' ;
1210import { sendSms } from '../../../utils/roboSender/sendSms' ;
1311import { makePattern , toArray } from '../../../utils/utils' ;
1412import { streamToBase64 } from '../controller/file-storage' ;
@@ -24,13 +22,8 @@ import { profesion } from '../schemas/profesion_model';
2422import { defaultLimit , maxLimit } from './../../../config' ;
2523import { userScheduler } from './../../../config.private' ;
2624import { getTemporyTokenGenerarUsuario } from '../../../auth/auth.controller' ;
27- import { services } from '../../../services' ;
28- import { Matching } from '@andes/match' ;
29- import { mpi , algoritmo } from './../../../config' ;
30-
3125import moment = require( 'moment' ) ;
3226
33-
3427const router = express . Router ( ) ;
3528
3629router . 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