From ab5900b449b4855d66377198de4b5208b9830f04 Mon Sep 17 00:00:00 2001 From: Shepherd Date: Tue, 10 Sep 2024 14:15:32 -0400 Subject: [PATCH] Nit use helper method --- src/core/CoreModuleDirector.ts | 12 +++++++----- src/core/utils/typePredicates.ts | 5 +++++ 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/core/CoreModuleDirector.ts b/src/core/CoreModuleDirector.ts index bd843b22a..a11609fd4 100644 --- a/src/core/CoreModuleDirector.ts +++ b/src/core/CoreModuleDirector.ts @@ -20,6 +20,7 @@ import User from '../onesignal/User'; import OneSignal from '../onesignal/OneSignal'; import Database from '../shared/services/Database'; import EventHelper from '../shared/helpers/EventHelper'; +import { isSubscriptionType } from './utils/typePredicates'; /* Contains OneSignal User-Model-specific logic*/ @@ -257,9 +258,9 @@ export class CoreModuleDirector { logMethodCall('CoreModuleDirector.getPushSubscriptionModelByCurrentToken'); const pushToken = await MainHelper.getCurrentPushToken(); if (pushToken) { - const pushSubscriptions = this.getAllPushSubscriptionModels(); - return Object.values(pushSubscriptions).find( - (subscription) => subscription.data.token === pushToken, + return this.getSubscriptionOfTypeWithToken( + ModelName.Subscriptions, + pushToken, ); } return undefined; @@ -330,7 +331,7 @@ export class CoreModuleDirector { } public getSubscriptionOfTypeWithToken( - type: SubscriptionType, + type: SubscriptionType | ModelName.Subscriptions, token: string, ): OSModel | undefined { logMethodCall('CoreModuleDirector.getSubscriptionOfTypeWithToken', { @@ -350,8 +351,9 @@ export class CoreModuleDirector { (subscription) => subscription.data.token === token, ); } + case ModelName.Subscriptions: default: - if (this.isPushSubscriptionType(type)) { + if (isSubscriptionType(type) && this.isPushSubscriptionType(type)) { const pushSubscriptions = this.getAllPushSubscriptionModels(); return Object.values(pushSubscriptions).find( (subscription) => subscription.data.token === token, diff --git a/src/core/utils/typePredicates.ts b/src/core/utils/typePredicates.ts index 73c2ba98b..ba92ec87a 100644 --- a/src/core/utils/typePredicates.ts +++ b/src/core/utils/typePredicates.ts @@ -6,6 +6,7 @@ import { ModelStoreHydrated } from '../models/ModelStoreChange'; import { FutureSubscriptionModel, SubscriptionModel, + SubscriptionType, } from '../models/SubscriptionModels'; export function isPropertyDelta( @@ -68,3 +69,7 @@ export function isCompleteSubscriptionObject( ): obj is SubscriptionModel { return obj?.type !== undefined && obj?.id !== undefined; } + +export function isSubscriptionType(obj: any): obj is SubscriptionType { + return Object.values(SubscriptionType).includes(obj); +}