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 *)experienceId; 15 16 + (BOOL)shouldNotification:(UNNotification *)notification beHandledByExperience:(NSString *)experienceId; 17 18 + (NSString *)scopedIdentifierFromId:(NSString *)unscopedId forExperience:(NSString *)experienceId; 19 20 + (BOOL)isId:(NSString *)identifier scopedByExperience:(NSString *)experienceId; 21 22 + (ScopedIdentifierComponents)getScopeAndIdentifierFromScopedIdentifier:(NSString *)scopedIdentifier; 23 24 + (BOOL)isLegacyCategoryId:(NSString *) scopedCategoryId scopedByExperience:(NSString *) experienceId; 25 26 + (NSString *)unscopedLegacyCategoryIdentifierWithId:(NSString *) scopedCategoryId forExperience:(NSString *) experienceId; 27 28 @end 29 30 NS_ASSUME_NONNULL_END 31