From 61b2a50c658a7a740af4b7b30e297c43d3252f63 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 7 Apr 2025 09:06:58 -0600 Subject: [PATCH 1/4] chage env for alumnos --- src/alumnos/alumnos.module.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/alumnos/alumnos.module.ts b/src/alumnos/alumnos.module.ts index d5f26ba..ff88372 100644 --- a/src/alumnos/alumnos.module.ts +++ b/src/alumnos/alumnos.module.ts @@ -10,11 +10,11 @@ import { RegistroAlumno } from './entities/registro-alumno.entity'; TypeOrmModule.forRoot({ name: 'alumnosConnection', type: 'mysql', - host: process.env.ALUMNOS_DB_HOST || 'mariadb', - port: parseInt(process.env.ALUMNOS_DB_PORT || '3306'), - username: process.env.ALUMNOS_DB_USERNAME || 'alumnosuser', - password: process.env.ALUMNOS_DB_PASSWORD || 'alumnospass', - database: process.env.ALUMNOS_DB_DATABASE || 'datos_feria_registro', + host: process.env.ALUMNOS_DB_HOST , + port: parseInt(process.env.ALUMNOS_DB_PORT!, 10), + username: process.env.ALUMNOS_DB_USERNAME , + password: process.env.ALUMNOS_DB_PASSWORD , + database: process.env.ALUMNOS_DB_DATABASE , entities: [RegistroAlumno], synchronize: false, }), From abbbb206cf0368b45fee6768ef4085c67a843d7a Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 7 Apr 2025 09:10:04 -0600 Subject: [PATCH 2/4] number en puerto --- src/alumnos/alumnos.module.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/alumnos/alumnos.module.ts b/src/alumnos/alumnos.module.ts index ff88372..788b59f 100644 --- a/src/alumnos/alumnos.module.ts +++ b/src/alumnos/alumnos.module.ts @@ -11,7 +11,7 @@ import { RegistroAlumno } from './entities/registro-alumno.entity'; name: 'alumnosConnection', type: 'mysql', host: process.env.ALUMNOS_DB_HOST , - port: parseInt(process.env.ALUMNOS_DB_PORT!, 10), + port: Number(process.env.ALUMNOS_DB_PORT), username: process.env.ALUMNOS_DB_USERNAME , password: process.env.ALUMNOS_DB_PASSWORD , database: process.env.ALUMNOS_DB_DATABASE , From c8667dc14262ed8ac691b900565e581b5972efd8 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 7 Apr 2025 09:38:08 -0600 Subject: [PATCH 3/4] for root async, config module global --- src/alumnos/alumnos.module.ts | 31 +++++++++++++++++++++++++++++-- src/app.module.ts | 4 +++- 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/src/alumnos/alumnos.module.ts b/src/alumnos/alumnos.module.ts index 788b59f..9a4935d 100644 --- a/src/alumnos/alumnos.module.ts +++ b/src/alumnos/alumnos.module.ts @@ -3,11 +3,33 @@ import { TypeOrmModule } from '@nestjs/typeorm'; import { AlumnosController } from './alumnos.controller'; import { AlumnosService } from './alumnos.service'; import { RegistroAlumno } from './entities/registro-alumno.entity'; +import { ConfigService } from '@nestjs/config'; @Module({ imports: [ TypeOrmModule.forFeature([RegistroAlumno], 'alumnosConnection'), - TypeOrmModule.forRoot({ + + + TypeOrmModule.forRootAsync({ + name: 'alumnosConnection', + useFactory: (configService: ConfigService) => ({ + type: 'mysql', + host: configService.get('ALUMNOS_DB_HOST'), + port: Number(configService.get('ALUMNOS_DB_PORT')), + username: configService.get('ALUMNOS_DB_USERNAME'), + password: configService.get('ALUMNOS_DB_PASSWORD'), + database: configService.get('ALUMNOS_DB_DATABASE'), + entities: [RegistroAlumno], + synchronize: false, + retryAttempts: 10, + retryDelay: 3000, + connectTimeout: 30000, + }), + inject: [ConfigService], + }), + + + /* TypeOrmModule.forRoot({ name: 'alumnosConnection', type: 'mysql', host: process.env.ALUMNOS_DB_HOST , @@ -17,7 +39,12 @@ import { RegistroAlumno } from './entities/registro-alumno.entity'; database: process.env.ALUMNOS_DB_DATABASE , entities: [RegistroAlumno], synchronize: false, - }), + + retryAttempts: 10, // Intentos para reconectar + retryDelay: 3000, // Tiempo entre reintentos + connectTimeout: 30000, // Timeout de conexión (30 segundos) │ │ + + }), */ ], controllers: [AlumnosController], providers: [AlumnosService], diff --git a/src/app.module.ts b/src/app.module.ts index 78b893c..8b95158 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -29,7 +29,9 @@ import { AlumnosModule } from './alumnos/alumnos.module'; @Module({ imports: [ - ConfigModule.forRoot(), + ConfigModule.forRoot({ + isGlobal: true, + }), TypeOrmModule.forRoot({ type: 'mysql', From 766a380f98c9eb68c30fef2717a074ed08864a2e Mon Sep 17 00:00:00 2001 From: jalvarado Date: Mon, 7 Apr 2025 11:00:21 -0600 Subject: [PATCH 4/4] fix: regex expression --- src/validaciones/validador.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/validaciones/validador.ts b/src/validaciones/validador.ts index 1ca4be1..4f7e69b 100644 --- a/src/validaciones/validador.ts +++ b/src/validaciones/validador.ts @@ -99,6 +99,9 @@ export class ValidadorTelefono extends Validador { // Clase para validar nombres export class ValidadorNombre extends Validador { validar(valor: string): ResultadoValidacion { + const regex = new RegExp( + '/^[A-Za-zÁÉÍÓÚáéíóúÑñ]+(?: [A-Za-zÁÉÍÓÚáéíóúÑñ]+)*$/' + ); if (!valor) { return { valido: false, @@ -115,7 +118,7 @@ export class ValidadorNombre extends Validador { } // Verificar que solo contenga letras y espacios - if (!/^[a-zA-ZáéíóúÁÉÍÓÚñÑüÜ\\s]+$/.test(valor)) { + if (regex.test(valor)) { return { valido: false, mensaje: 'El nombre solo debe contener letras y espacios'