1 // Copyright 2018-present 650 Industries. All rights reserved. 2 3 #import <UserNotifications/UserNotifications.h> 4 5 NS_ASSUME_NONNULL_BEGIN 6 7 typedef struct { 8 NSString *scopeKey; 9 NSString *identifier; 10 } ScopedIdentifierComponents; 11 12 @interface EXScopedNotificationsUtils : NSObject 13 14 + (BOOL)shouldNotificationRequest:(UNNotificationRequest *)request beHandledByExperience:(NSString *)scopeKey; 15 16 + (BOOL)shouldNotification:(UNNotification *)notification beHandledByExperience:(NSString *)scopeKey; 17 18 + (NSString *)scopedIdentifierFromId:(NSString *)unscopedId forExperience:(NSString *)scopeKey; 19 20 + (BOOL)isId:(NSString *)identifier scopedByExperience:(NSString *)scopeKey; 21 22 + (ScopedIdentifierComponents)getScopeAndIdentifierFromScopedIdentifier:(NSString *)scopedIdentifier; 23 24 + (BOOL)isLegacyCategoryId:(NSString *)scopedCategoryId scopedByScopeKey:(NSString *)scopeKey; 25 26 + (NSString *)unscopedLegacyCategoryIdentifierWithId:(NSString *)scopedCategoryId 27 forScopeKey:(NSString *)scopeKey; 28 29 @end 30 31 NS_ASSUME_NONNULL_END 32