Nest no puede crear la instancia de AuthModule.
Cuando se intenta establecer enlaces entre el modelo de usuario y el grupo, surge un error:
No puedo entender por qué…
[Nest] 30312 – 06.12.2021, 20:53:42 LOG [NestFactory] Iniciando la aplicación Nest…
[Nest] 30312 – 06.12.2021, 20:53:42 ERROR [ExceptionHandler] Nest no puede crear la instancia de AuthModule.
El módulo en el índice [1] del array “imports” de AuthModule está indefinido.
Posibles causas:
– Una dependencia circular entre módulos. Utiliza forwardRef() para evitarlo. Lee más: https://docs.nestjs.com/fundamentals/circular-dependency
– El módulo en el índice [1] es de tipo “undefined”. Verifica tus declaraciones de importación y el tipo del módulo.
Ámbito [AppModule]
Error: Nest no puede crear la instancia de AuthModule.
El módulo en el índice [1] del array “imports” de AuthModule está indefinido.
app.module.ts https://pastebin.com/T9EC05gS
users.module.ts https://pastebin.com/inS044Xk
user.model.ts https://pastebin.com/wpyUs2SW
groups.module.ts https://pastebin.com/Jvr2Fuk3
group.model.ts https://pastebin.com/nBvkaEUt
auth.module.ts https://pastebin.com/MYQ2dw6y
auth.guard.ts https://pastebin.com/xDpQ8vwE
auth.service.ts https://pastebin.com/G9TzN3XF
Gracias de antemano.
ACTUALIZACIÓN:
El error aparece al agregar
@Expose()
@HasMany(() => Group)
groups: Group[];
a user.model.ts
davy.ai
Según el mensaje de error y los fragmentos de código proporcionados, parece haber un problema de dependencia circular entre los módulos AuthModule y UsersModule. Esto se debe probablemente al hecho de que UsersModule importa AuthModule, mientras que AuthModule también importa UsersModule.
Para resolver este problema, puedes intentar utilizar la función forwardRef() en la declaración de importación de AuthModule en UsersModule, de la siguiente manera:
Y en la declaración de importación de AuthModule para UsersModule, también debes utilizar forwardRef() de la siguiente manera:
Al utilizar forwardRef(), creas una referencia al módulo en lugar de utilizar una declaración de importación. Esto debería ayudar a romper la dependencia circular y permitir que los módulos funcionen correctamente juntos.