You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
session-ios/SignalServiceKit/src/Network/API/OWSDeviceProvisioningCodeSe...

59 lines
1.7 KiB
Matlab

// Copyright © 2016 Open Whisper Systems. All rights reserved.
#import "OWSDeviceProvisioningCodeService.h"
#import "OWSDeviceProvisioningCodeRequest.h"
#import "TSNetworkManager.h"
NS_ASSUME_NONNULL_BEGIN
NSString *const OWSDeviceProvisioningCodeServiceProvisioningCodeKey = @"verificationCode";
@interface OWSDeviceProvisioningCodeService ()
@property (readonly) TSNetworkManager *networkManager;
@end
@implementation OWSDeviceProvisioningCodeService
- (instancetype)initWithNetworkManager:(TSNetworkManager *)networkManager
{
self = [super init];
if (!self) {
return self;
}
_networkManager = networkManager;
return self;
}
- (instancetype)init
{
return [self initWithNetworkManager:[TSNetworkManager sharedManager]];
}
- (void)requestProvisioningCodeWithSuccess:(void (^)(NSString *))successCallback
failure:(void (^)(NSError *))failureCallback
{
[self.networkManager makeRequest:[OWSDeviceProvisioningCodeRequest new]
success:^(NSURLSessionDataTask *task, id responseObject) {
DDLogVerbose(@"ProvisioningCode request succeeded");
if ([(NSObject *)responseObject isKindOfClass:[NSDictionary class]]) {
NSDictionary *responseDict = (NSDictionary *)responseObject;
NSString *provisioningCode =
[responseDict objectForKey:OWSDeviceProvisioningCodeServiceProvisioningCodeKey];
successCallback(provisioningCode);
}
}
failure:^(NSURLSessionDataTask *task, NSError *error) {
DDLogVerbose(@"ProvisioningCode request failed with error: %@", error);
failureCallback(error);
}];
}
@end
NS_ASSUME_NONNULL_END