Merge pull request 'develop' (#20) from develop into master

Reviewed-on: #20
This commit was merged in pull request #20.
This commit is contained in:
2025-04-07 11:36:13 -06:00
3 changed files with 41 additions and 9 deletions
+34 -7
View File
@@ -3,21 +3,48 @@ 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<string>('ALUMNOS_DB_HOST'),
port: Number(configService.get<number>('ALUMNOS_DB_PORT')),
username: configService.get<string>('ALUMNOS_DB_USERNAME'),
password: configService.get<string>('ALUMNOS_DB_PASSWORD'),
database: configService.get<string>('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 || '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: Number(process.env.ALUMNOS_DB_PORT),
username: process.env.ALUMNOS_DB_USERNAME ,
password: process.env.ALUMNOS_DB_PASSWORD ,
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],
+3 -1
View File
@@ -29,7 +29,9 @@ import { AlumnosModule } from './alumnos/alumnos.module';
@Module({
imports: [
ConfigModule.forRoot(),
ConfigModule.forRoot({
isGlobal: true,
}),
TypeOrmModule.forRoot({
type: 'mysql',
+4 -1
View File
@@ -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'