From 99da8bf3099a5dd568775d4e772b0df2c1b16093 Mon Sep 17 00:00:00 2001 From: Eli Bosley Date: Tue, 19 Aug 2025 12:32:02 -0400 Subject: [PATCH] fix(api): enhance type safety in pubsub subscription methods - Updated `createSubscription` and `createTrackedSubscription` methods to include generic type parameters, improving type safety and ensuring correct async iterable handling. --- api/src/core/pubsub.ts | 6 ++++-- .../graph/services/subscription-helper.service.ts | 3 +-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/api/src/core/pubsub.ts b/api/src/core/pubsub.ts index 6d0840137..efba5da3b 100644 --- a/api/src/core/pubsub.ts +++ b/api/src/core/pubsub.ts @@ -15,6 +15,8 @@ export const pubsub = new PubSub({ eventEmitter }); * Create a pubsub subscription. * @param channel The pubsub channel to subscribe to. */ -export const createSubscription = (channel: GRAPHQL_PUBSUB_CHANNEL) => { - return pubsub.asyncIterableIterator(channel); +export const createSubscription = ( + channel: GRAPHQL_PUBSUB_CHANNEL +): AsyncIterableIterator => { + return pubsub.asyncIterableIterator(channel); }; diff --git a/api/src/unraid-api/graph/services/subscription-helper.service.ts b/api/src/unraid-api/graph/services/subscription-helper.service.ts index 4fd12fb2b..2df982d12 100644 --- a/api/src/unraid-api/graph/services/subscription-helper.service.ts +++ b/api/src/unraid-api/graph/services/subscription-helper.service.ts @@ -16,8 +16,7 @@ export class SubscriptionHelperService { * @returns A proxy async iterator with automatic cleanup */ public createTrackedSubscription(topic: PUBSUB_CHANNEL): AsyncIterableIterator { - const iterator = createSubscription(topic) as AsyncIterable; - const innerIterator = iterator[Symbol.asyncIterator](); + const innerIterator = createSubscription(topic); // Subscribe when the subscription starts this.subscriptionTracker.subscribe(topic);