diff --git a/src/Storage/AxolotlStore/TSStorageManager+Calling.h b/src/Storage/AxolotlStore/TSStorageManager+Calling.h new file mode 100644 index 000000000..f483ef441 --- /dev/null +++ b/src/Storage/AxolotlStore/TSStorageManager+Calling.h @@ -0,0 +1,24 @@ +// +// Copyright (c) 2017 Open Whisper Systems. All rights reserved. +// + +#import "TSStorageManager.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface TSStorageManager (Calling) + +// phoneNumber is an e164 formatted phone number. +// +// callKitId is expected to have CallKitCallManager.kAnonymousCallHandlePrefix. +- (void)setPhoneNumber:(NSString *)phoneNumber forCallKitId:(NSString *)callKitId; + +// returns an e164 formatted phone number or nil if no +// record can be found. +// +// callKitId is expected to have CallKitCallManager.kAnonymousCallHandlePrefix. +- (NSString *)phoneNumberForCallKitId:(NSString *)callKitId; + +@end + +NS_ASSUME_NONNULL_END diff --git a/src/Storage/AxolotlStore/TSStorageManager+Calling.m b/src/Storage/AxolotlStore/TSStorageManager+Calling.m new file mode 100644 index 000000000..ce772e109 --- /dev/null +++ b/src/Storage/AxolotlStore/TSStorageManager+Calling.m @@ -0,0 +1,30 @@ +// +// Copyright (c) 2017 Open Whisper Systems. All rights reserved. +// + +#import "TSStorageManager+Calling.h" + +NS_ASSUME_NONNULL_BEGIN + +NSString *const TSStorageManagerCallKitIdToPhoneNumberCollection = @"TSStorageManagerCallKitIdToPhoneNumberCollection"; + +@implementation TSStorageManager (Calling) + +- (void)setPhoneNumber:(NSString *)phoneNumber forCallKitId:(NSString *)callKitId +{ + OWSAssert(phoneNumber.length > 0); + OWSAssert(callKitId.length > 0); + + [self setObject:phoneNumber forKey:callKitId inCollection:TSStorageManagerCallKitIdToPhoneNumberCollection]; +} + +- (NSString *)phoneNumberForCallKitId:(NSString *)callKitId +{ + OWSAssert(callKitId.length > 0); + + return [self objectForKey:callKitId inCollection:TSStorageManagerCallKitIdToPhoneNumberCollection]; +} + +@end + +NS_ASSUME_NONNULL_END