Не работает subscription в nestjs/graphql

не могу подписаться на событие в библиотеке graphql-subscriptions через PubSub, чтобы работало обновление. Если кто-то имеет догадки, как решить проблему, буду благодарен.

Internal error occurred during message handling. Please check your implementation. Error: Subscription field must return Async Iterable. Received: { pubsub: { ee: [Object], subscriptions: {}, subIdCounter: 0 }, pullQueue: [], pushQueue: [], running: true, allSubscribed: null, eventsArray: ["movieRatingUpdated"] }.

movie.resolver.ts

constructor(
    private movieRateService: MovieRateService,
    private prisma: PrismaService,
    @Inject('PUB_SUB') private pubSub: PubSubEngine,
  ) {}
  @UseGuards(AuthGuard)
  @Mutation(() => MovieEntity, { description: 'Rate movie' })
  async rateMovie(
    @Args('id', { nullable: false }, CheckMovieExistPipe)
    movieId: number,
    @Args('rating', { nullable: false })
    value: number,
    @User('id')
    user: User,
  ) {
    const movie = await this.movieRateService.rateMovie(
      movieId,
      user.id,
      value,
    );

    await this.pubSub.publish('movieRatingUpdated', {
      movieRatingUpdated: movie,
    });

    return movie;
  }

  @Subscription(() => TestEntity, {
    name: 'movieRatingUpdated',

    resolve: (payload) => {
      console.log('Resolving payload:', payload);
      payload.movieRatingUpdated;
    },
  })
  movieRatingUpdated() {
    return this.pubSub.asyncIterableIterator('movieRatingUpdated');
  }

movie.module.ts

export const pubSub = new PubSub();

@Module({
  controllers: [MovieController],
  providers: [
    MovieRateService,
    MovieResolver,
    {
      provide: 'PUB_SUB',
      useValue: pubSub,
    },
  ],
  imports: [PrismaModule, CacheModule.register()],
  exports: ['PUB_SUB'],
})
export class MovieModule {}

app.module.ts

 GraphQLModule.forRoot<ApolloDriverConfig>({
      driver: ApolloDriver,
      autoSchemaFile: path.join(process.cwd(), 'src/schema.gql'),

      subscriptions: {
        'graphql-ws': {
          path: '/graphql',
        },
      },
      include: [MovieModule],
      playground: true,
      introspection: true,
    }),

Ответы (0 шт):