Hello everyone! I have an issues with forwarding ref for WebSocketGateway and services.
I have global app-module
@Module({
exports: [...modules, MyWebSocketGatewayModule, SpecificServiceThatUseWebsocket],
imports: [...modules, forwardRef(() => MyWebSocketGatewayModule), forwardRef(() => SpecificModuleThatUseWebsocket)],
})
export class AppModule {}
I have MyWebSocketGatewayModule
@Module({
imports: [...],
providers: [
MyWebSocketGateway,
SocketService,
],
exports: [MyWebSocketGateway, SocketService],
})
export class MyWebSocketGatewayModule {}
I have SpecificModuleThatUseWebsocket:
@Module({
imports: [
SocketService,
],
controllers: [
...
],
providers: [
SpecificServiceThatUseWebsocketService,
SocketService,
],
})
export class SpecificModuleThatUseWebsocket {
}
I have MyWebSocketGateway:
@WebSocketGateway()
export class WebsocketsGateway {
socket: ServerSocket;
@WebSocketServer() server: Server;
constructor(
private specificServiceThatUseWebsocketService: SpecificServiceThatUseWebsocketService,
) {}
}
I have SocketService:
@Injectable()
export class SocketService {
@WebSocketServer() server: Server;
constructor(
private readonly websocketsGateway: MyWebSocketGateway,
) {
this.socket = websocketsGateway.server;
}
}