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