1// Copyright 2018-present 650 Industries. All rights reserved. 2 3#if __has_include(<EXNotifications/EXServerRegistrationModule.h>) 4 5#import "EXScopedServerRegistrationModule.h" 6#import "EXUnversioned.h" 7 8static NSString * const kEXRegistrationInfoKey = EX_UNVERSIONED(@"EXNotificationRegistrationInfoKey"); 9 10@interface EXServerRegistrationModule (Protected) 11 12- (NSDictionary *)registrationSearchQueryMerging:(NSDictionary *)dictionaryToMerge; 13- (NSDictionary *)keychainSearchQueryFor:(NSString *)key merging:(NSDictionary *)dictionaryToMerge; 14 15@end 16 17@interface EXScopedServerRegistrationModule () 18 19@property (nonatomic, strong) NSString *experienceId; 20 21@end 22 23@implementation EXScopedServerRegistrationModule 24 25- (instancetype)initWithExperienceId:(NSString *)experienceId 26{ 27 if (self = [super init]) { 28 _experienceId = experienceId; 29 } 30 return self; 31} 32 33- (NSDictionary *)registrationSearchQueryMerging:(NSDictionary *)dictionaryToMerge 34{ 35 NSString *scopedKey = [kEXRegistrationInfoKey stringByAppendingFormat:@"-%@", _experienceId]; 36 return [self keychainSearchQueryFor:scopedKey merging:dictionaryToMerge]; 37} 38 39@end 40 41#endif 42