chore: added message types to PubSub Service
This commit is contained in:
@@ -4,6 +4,7 @@ import { default as Redis, RedisOptions } from 'ioredis';
|
||||
|
||||
import { RedisPubSub } from 'graphql-redis-subscriptions';
|
||||
import { PubSub as LocalPubSub } from 'graphql-subscriptions';
|
||||
import { MessageType } from './subscriptionTopicsDefs';
|
||||
|
||||
/**
|
||||
* RedisPubSub uses JSON parsing for back and forth conversion, which loses Date objects, hence this reviver brings them back
|
||||
@@ -70,7 +71,10 @@ export class PubSubService implements OnModuleInit {
|
||||
return this.pubsub.asyncIterator(topic, options);
|
||||
}
|
||||
|
||||
async publish(topic: string, payload: any) {
|
||||
async publish<T extends keyof MessageType>(
|
||||
topic: T,
|
||||
payload: MessageType[T],
|
||||
) {
|
||||
await this.pubsub.publish(topic, payload);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user