diff --git a/src/app.module.ts b/src/app.module.ts index 0959dd8..290c20a 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -1,4 +1,4 @@ -import { Module } from '@nestjs/common'; +import { forwardRef, Module } from '@nestjs/common'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { CuestionarioModule } from './cuestionario/cuestionario.module'; @@ -34,15 +34,18 @@ import { ParticipanteModule } from './participante/participante.module'; autoLoadEntities: true, // Carga automáticamente las entidades }), - ParticipanteModule, - CuestionarioModule, + forwardRef(() => CuestionarioModule), + forwardRef(() => SeccionModule), + forwardRef(() => PreguntaModule), + forwardRef(() => OpcionModule), + ParticipanteModule, TipoCuestionarioModule, CuestionarioSeccionModule, - SeccionModule, + SeccionPreguntaModule, - PreguntaModule, + TipoPreguntaModule, - OpcionModule, PreguntaOpcionModule, + PreguntaOpcionModule, RespuestaParticipanteCerradaModule, CuestionarioRespondidoModule, RespuestaParticipanteAbiertaModule], diff --git a/src/cuestionario/cuestionario.module.ts b/src/cuestionario/cuestionario.module.ts index 523c318..72539ae 100644 --- a/src/cuestionario/cuestionario.module.ts +++ b/src/cuestionario/cuestionario.module.ts @@ -1,17 +1,17 @@ -import { Module } from '@nestjs/common'; +import { Module, forwardRef } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; -import { CuestionarioController } from 'src/cuestionario/cuestionario.controller'; -import { CuestionarioService } from 'src/cuestionario/cuestionario.service'; -import { Cuestionario } from 'src/cuestionario/entities/cuestionario.entity'; -import { CuestionarioSeccion } from 'src/cuestionario_seccion/entities/cuestionario_seccion.entity'; -import { SeccionModule } from 'src/seccion/seccion.module'; -import { TipoCuestionario } from 'src/tipo_cuestionario/entities/tipo_cuestionario.entity'; - +import { CuestionarioController } from './cuestionario.controller'; +import { CuestionarioService } from './cuestionario.service'; +import { Cuestionario } from './entities/cuestionario.entity'; +import { CuestionarioSeccion } from '../cuestionario_seccion/entities/cuestionario_seccion.entity'; +import { SeccionModule } from '../seccion/seccion.module'; +import { TipoCuestionarioModule } from '../tipo_cuestionario/tipo_cuestionario.module'; @Module({ imports: [ - TypeOrmModule.forFeature([Cuestionario, TipoCuestionario, CuestionarioSeccion]), - SeccionModule, + TypeOrmModule.forFeature([Cuestionario, CuestionarioSeccion]), + forwardRef(() => SeccionModule), + TipoCuestionarioModule, ], controllers: [CuestionarioController], providers: [CuestionarioService], diff --git a/src/opcion/opcion.module.ts b/src/opcion/opcion.module.ts index b93ac82..23d2a77 100644 --- a/src/opcion/opcion.module.ts +++ b/src/opcion/opcion.module.ts @@ -1,22 +1,19 @@ -import { Module } from '@nestjs/common'; +import { Module, forwardRef } from '@nestjs/common'; +import { TypeOrmModule } from '@nestjs/typeorm'; import { OpcionService } from './opcion.service'; import { OpcionController } from './opcion.controller'; -import { PreguntaModule } from 'src/pregunta/pregunta.module'; -import { TypeOrmModule } from '@nestjs/typeorm'; import { Opcion } from './entities/opcion.entity'; -import { TipoPregunta } from 'src/tipo_pregunta/entities/tipo_pregunta.entity'; -import { PreguntaOpcion } from 'src/pregunta_opcion/entities/pregunta_opcion.entity'; -import { Pregunta } from 'src/pregunta/entities/pregunta.entity'; +import { PreguntaOpcion } from '../pregunta_opcion/entities/pregunta_opcion.entity'; +import { PreguntaModule } from '../pregunta/pregunta.module'; +import { Pregunta } from '../pregunta/entities/pregunta.entity'; @Module({ imports: [ - TypeOrmModule.forFeature([Opcion, Pregunta, PreguntaOpcion]), - PreguntaModule, - TipoPregunta + TypeOrmModule.forFeature([Opcion, Pregunta, PreguntaOpcion]), // Importar todas las entidades necesarias + forwardRef(() => PreguntaModule), // Usar forwardRef para dependencia circular ], controllers: [OpcionController], providers: [OpcionService], - exports: [OpcionService, TypeOrmModule], + exports: [OpcionService, TypeOrmModule], // Exportar TypeOrmModule si otros módulos necesitan los repositorios }) - -export class OpcionModule {} +export class OpcionModule {} \ No newline at end of file diff --git a/src/pregunta/pregunta.module.ts b/src/pregunta/pregunta.module.ts index 910f916..0560855 100644 --- a/src/pregunta/pregunta.module.ts +++ b/src/pregunta/pregunta.module.ts @@ -1,16 +1,17 @@ -import { Module } from '@nestjs/common'; +import { Module, forwardRef } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; import { Pregunta } from './entities/pregunta.entity'; import { PreguntaService } from './pregunta.service'; import { PreguntaController } from './pregunta.controller'; import { OpcionModule } from '../opcion/opcion.module'; -import { PreguntaOpcion } from 'src/pregunta_opcion/entities/pregunta_opcion.entity'; -import { TipoPregunta } from 'src/tipo_pregunta/entities/tipo_pregunta.entity'; +import { PreguntaOpcion } from '../pregunta_opcion/entities/pregunta_opcion.entity'; +import { TipoPreguntaModule } from '../tipo_pregunta/tipo_pregunta.module'; @Module({ imports: [ - TypeOrmModule.forFeature([Pregunta, TipoPregunta, PreguntaOpcion]), - OpcionModule, + TypeOrmModule.forFeature([Pregunta, PreguntaOpcion]), + forwardRef(() => OpcionModule), + TipoPreguntaModule, ], controllers: [PreguntaController], providers: [PreguntaService], diff --git a/src/seccion/seccion.module.ts b/src/seccion/seccion.module.ts index a8dbf73..b39d776 100644 --- a/src/seccion/seccion.module.ts +++ b/src/seccion/seccion.module.ts @@ -1,18 +1,18 @@ -import { Module } from '@nestjs/common'; +import { Module, forwardRef } from '@nestjs/common'; import { SeccionService } from './seccion.service'; import { SeccionController } from './seccion.controller'; import { Seccion } from './entities/seccion.entity'; import { TypeOrmModule } from '@nestjs/typeorm'; -import { Pregunta } from 'src/pregunta/entities/pregunta.entity'; -import { SeccionPregunta } from 'src/seccion_pregunta/entities/seccion_pregunta.entity'; -import { PreguntaModule } from 'src/pregunta/pregunta.module'; +import { SeccionPregunta } from '../seccion_pregunta/entities/seccion_pregunta.entity'; +import { PreguntaModule } from '../pregunta/pregunta.module'; @Module({ imports: [ TypeOrmModule.forFeature([Seccion, SeccionPregunta]), - PreguntaModule], - controllers: [SeccionController], - providers: [SeccionService], - exports:[TypeOrmModule,SeccionService] + forwardRef(() => PreguntaModule) + ], + controllers: [SeccionController], + providers: [SeccionService], + exports: [SeccionService], }) -export class SeccionModule {} +export class SeccionModule {} \ No newline at end of file diff --git a/src/tipo_cuestionario/entities/tipo_cuestionario.entity.ts b/src/tipo_cuestionario/entities/tipo_cuestionario.entity.ts index b891d3e..6a1fa00 100644 --- a/src/tipo_cuestionario/entities/tipo_cuestionario.entity.ts +++ b/src/tipo_cuestionario/entities/tipo_cuestionario.entity.ts @@ -9,6 +9,6 @@ export class TipoCuestionario { @Column({ type: 'varchar', length: 30 }) tipo_cuestionario: string; - @OneToMany(()=> Cuestionario,(cuestionario)=> cuestionario.tipoCuestionario) + @OneToMany(()=> Cuestionario,(cuestionario)=> cuestionario.tipo_cuestionario) cuestionarios:Cuestionario[]; }