From 02cf91fc273da157ac70782278c52c33545d70b3 Mon Sep 17 00:00:00 2001 From: ma7payne Date: Thu, 14 May 2026 15:03:06 -0300 Subject: [PATCH] (fix): modifica modelo y creacion de practicas --- src/controllers/certificate.controller.ts | 5 +++++ src/controllers/practice.controller.ts | 8 +++++++- src/interfaces/certificate.interface.ts | 5 +++++ src/interfaces/practice.interface.ts | 5 +++++ src/models/certificate.model.ts | 14 +++++++++++++ src/models/practice.model.ts | 25 ++++++++++++++++------- 6 files changed, 54 insertions(+), 8 deletions(-) diff --git a/src/controllers/certificate.controller.ts b/src/controllers/certificate.controller.ts index 8d02bca8..79951bfb 100644 --- a/src/controllers/certificate.controller.ts +++ b/src/controllers/certificate.controller.ts @@ -26,6 +26,11 @@ class CertificateController implements BaseController { businessName: myProfessional?.businessName, cuil: myProfessional?.cuil, enrollment: myProfessional?.enrollment, + profesionGrado: myProfessional?.profesionGrado?.length ? myProfessional.profesionGrado.map((pg: any) => ({ + profesion: pg.profesion, + codigoProfesion: pg.codigoProfesion, + numeroMatricula: pg.numeroMatricula + })) : [], }, certificate, startDate, diff --git a/src/controllers/practice.controller.ts b/src/controllers/practice.controller.ts index 32653153..e3ea60ae 100644 --- a/src/controllers/practice.controller.ts +++ b/src/controllers/practice.controller.ts @@ -36,7 +36,7 @@ class PracticeController { }); } - if (patient?.os.nombre) { + if (patient?.os?.nombre) { patient.os.otraOS = patient.otraOS || false; myPatient.obraSocial = patient.os; } @@ -49,6 +49,11 @@ class PracticeController { businessName: myProfessional?.businessName, cuil: myProfessional?.cuil, enrollment: myProfessional?.enrollment, + profesionGrado: myProfessional?.profesionGrado?.length ? myProfessional.profesionGrado.map((pg: any) => ({ + profesion: pg.profesion, + codigoProfesion: pg.codigoProfesion, + numeroMatricula: pg.numeroMatricula + })) : [], }, practice, indications, @@ -59,6 +64,7 @@ class PracticeController { return res.status(httpCodes.CREATED).json([savedPractice]); } catch (error) { + console.error('Error interno del servidor al crear la práctica:', error); return res.status(httpCodes.INTERNAL_SERVER_ERROR).json('Error interno del servidor al crear la práctica'); } } diff --git a/src/interfaces/certificate.interface.ts b/src/interfaces/certificate.interface.ts index 6a45036c..99e6dc9b 100644 --- a/src/interfaces/certificate.interface.ts +++ b/src/interfaces/certificate.interface.ts @@ -8,6 +8,11 @@ export default interface ICertificate extends Document { enrollment: string, cuil: string, businessName: string, + profesionGrado?: { + profesion: string; + codigoProfesion: string; + numeroMatricula: string; + }[]; }; certificate: string; status?: string; diff --git a/src/interfaces/practice.interface.ts b/src/interfaces/practice.interface.ts index 1b3afb95..03f3353b 100644 --- a/src/interfaces/practice.interface.ts +++ b/src/interfaces/practice.interface.ts @@ -18,6 +18,11 @@ export default interface IPractice extends Document { enrollment: string; cuil: string; businessName: string; + profesionGrado?: { + profesion: string; + codigoProfesion: string; + numeroMatricula: string; + }[]; }; practice: string; diagnostic: string; diff --git a/src/models/certificate.model.ts b/src/models/certificate.model.ts index ff1fcb9c..71c63860 100644 --- a/src/models/certificate.model.ts +++ b/src/models/certificate.model.ts @@ -10,6 +10,20 @@ const certificateSchema = new Schema({ businessName: { type: String, required: true }, cuil: { type: String }, enrollment: { type: String }, + profesionGrado: [{ + profesion: { + type: String, + required: true + }, + codigoProfesion: { + type: String, + required: true + }, + numeroMatricula: { + type: String, + required: true + }, + }] }, certificate: { type: String }, startDate: { type: Date, required: true }, diff --git a/src/models/practice.model.ts b/src/models/practice.model.ts index 9ce44dc8..b843ad04 100644 --- a/src/models/practice.model.ts +++ b/src/models/practice.model.ts @@ -14,17 +14,28 @@ const practiceSchema: Schema = new Schema({ required: true }, enrollment: { - type: String, - required: true + type: String }, cuil: { - type: String, - required: true + type: String }, businessName: { - type: String, - required: true - } + type: String + }, + profesionGrado: [{ + profesion: { + type: String, + required: true + }, + codigoProfesion: { + type: String, + required: true + }, + numeroMatricula: { + type: String, + required: true + }, + }] }, practice: { type: String,