Manos Chorianopoulos

add consumerIntegrationAsync request

...@@ -80,6 +80,7 @@ ...@@ -80,6 +80,7 @@
80 - (void)getInboxAsync:(void (^)(NSArray *list))success failureBlock:(void (^)(NSError *error))failure; 80 - (void)getInboxAsync:(void (^)(NSArray *list))success failureBlock:(void (^)(NSError *error))failure;
81 - (void)verifyTicketAsync:(NSString*)guid :(NSString*)ticket :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure; 81 - (void)verifyTicketAsync:(NSString*)guid :(NSString*)ticket :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure;
82 - (void)getProfileAsync:(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure; 82 - (void)getProfileAsync:(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure;
83 +- (void)consumerIntegrationAsync:(NSNumber*)nonTelco :(NSNumber*)acceptedConsent :(NSArray*)msisdnList :(NSString*)guid :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure;
83 84
84 @end 85 @end
85 #endif /* MyApi_h */ 86 #endif /* MyApi_h */
......
...@@ -1321,4 +1321,18 @@ CMPedometer *pedometer; ...@@ -1321,4 +1321,18 @@ CMPedometer *pedometer;
1321 failure(error); 1321 failure(error);
1322 }]; 1322 }];
1323 } 1323 }
1324 +
1325 +- (void)consumerIntegrationAsync:(NSNumber*)nonTelco :(NSNumber*)acceptedConsent :(NSArray*)msisdnList :(NSString*)guid :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure
1326 +{
1327 + [[Warply sharedService] consumerIntegrationWithSuccessBlock:nonTelco :acceptedConsent :msisdnList :guid :^(NSDictionary *response) {
1328 + if (success) {
1329 + success(response);
1330 + }
1331 + } failureBlock:^(NSError *error) {
1332 + if (failure) {
1333 + failure(error);
1334 + }
1335 + }];
1336 +}
1337 +
1324 @end 1338 @end
......
...@@ -328,6 +328,8 @@ WL_VERSION_INTERFACE() ...@@ -328,6 +328,8 @@ WL_VERSION_INTERFACE()
328 andNickname:(NSString*)nickname andGender:(NSString*)gender andBirthday:(NSString*)birthday andNameDay:(NSString*)nameday andTaxID:(NSString*)taxID andProfileMetadata:(NSDictionary*)profileMetadata optin:(NSNumber*) optin newsLetter:(NSNumber*)newsletter 328 andNickname:(NSString*)nickname andGender:(NSString*)gender andBirthday:(NSString*)birthday andNameDay:(NSString*)nameday andTaxID:(NSString*)taxID andProfileMetadata:(NSDictionary*)profileMetadata optin:(NSNumber*) optin newsLetter:(NSNumber*)newsletter
329 andSMS:(NSNumber*)sms andSegmentation:(NSNumber*)segmentation andSMSSegmentation:(NSNumber*)smsSegmentation :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure; 329 andSMS:(NSNumber*)sms andSegmentation:(NSNumber*)segmentation andSMSSegmentation:(NSNumber*)smsSegmentation :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure;
330 330
331 +- (void)consumerIntegrationWithSuccessBlock:(NSNumber*)nonTelco :(NSNumber*)acceptedConsent :(NSArray*)msisdnList :(NSString*)guid :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure;
332 +
331 - (void)changeProfileImageWithSuccessBlock:(NSString*)image andUserId:(NSString*)userId :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure; 333 - (void)changeProfileImageWithSuccessBlock:(NSString*)image andUserId:(NSString*)userId :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure;
332 334
333 335
......
...@@ -994,6 +994,78 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION) ...@@ -994,6 +994,78 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION)
994 }]; 994 }];
995 } 995 }
996 996
997 +- (void)consumerIntegrationWithSuccessBlock:(NSNumber*)nonTelco :(NSNumber*)acceptedConsent :(NSArray*)msisdnList :(NSString*)guid :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure
998 +{
999 + NSMutableDictionary* data = [[NSMutableDictionary alloc] init];
1000 +
1001 + if (nonTelco && ![nonTelco isEqual:@NO]) {
1002 + [data setValue:nonTelco forKey:@"nonTelco"];
1003 + } else {
1004 + [data setValue:0 forKey:@"nonTelco"];
1005 + }
1006 +
1007 + if (acceptedConsent && ![acceptedConsent isEqual:@NO]) {
1008 + [data setValue:acceptedConsent forKey:@"acceptedConsent"];
1009 + } else {
1010 + [data setValue:0 forKey:@"acceptedConsent"];
1011 + }
1012 +
1013 + if (msisdnList && (msisdnList != nil) && ([msisdnList count] != 0)) {
1014 + [data setValue:msisdnList forKey:@"msisdnList"];
1015 + } else {
1016 + [data setValue:nil forKey:@"msisdnList"];
1017 + }
1018 +
1019 + if (guid && ![guid isEqual:@""]) {
1020 + [data setValue:guid forKey:@"guid"];
1021 + } else {
1022 + [data setValue:@"" forKey:@"guid"];
1023 + }
1024 +
1025 + NSMutableDictionary* consumerData = [[NSMutableDictionary alloc] init];
1026 + [consumerData setValue:@"integration" forKey:@"action"];
1027 +
1028 + if(data && ![data isEqual:@{}]) {
1029 + [consumerData setValue:data forKey:@"data"];
1030 + }
1031 +
1032 + NSMutableDictionary *postDictionary = [[NSMutableDictionary alloc] init];
1033 + [postDictionary setValue:consumerData forKey:@"consumer_data"];
1034 +
1035 + NSData *jsonData = [NSJSONSerialization dataWithJSONObject:postDictionary options:0 error:NULL];
1036 + [self sendContext8:jsonData successBlock:^(NSDictionary *contextResponse) {
1037 + if (success) {
1038 + success(contextResponse);
1039 + }
1040 + } failureBlock:^(NSError *error) {
1041 + if (failure) {
1042 + NSDictionary* dict = [NSDictionary alloc];
1043 + dict = [error userInfo];
1044 + NSString* errorCode = [dict objectForKey:@"NSLocalizedDescription"];
1045 + if ([errorCode isEqual:@"Request failed: unauthorized (401)"]) {
1046 + [self refreshToken:^(NSDictionary *response) {
1047 + [self sendContext8:jsonData successBlock:^(NSDictionary *contextResponse) {
1048 + if (success) {
1049 + success(contextResponse);
1050 + }
1051 + } failureBlock:^(NSError *error) {
1052 + if (failure) {
1053 + failure(error);
1054 + }
1055 + }];
1056 + } failureBlock:^(NSError *error) {
1057 + if (failure) {
1058 + [_db executeUpdate:@"DROP TABLE requestVariables"];
1059 + failure(error);
1060 + }
1061 + NSLog(@"Error at token %@", error );
1062 + }];
1063 + }
1064 + NSLog(@"Error at consumer Integration %@", error );
1065 + }
1066 + }];
1067 +}
1068 +
997 - (void)changeProfileImageWithSuccessBlock:(NSString*)image andUserId:(NSString*)userId :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure 1069 - (void)changeProfileImageWithSuccessBlock:(NSString*)image andUserId:(NSString*)userId :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure
998 { 1070 {
999 NSDictionary *postDictionary = @{@"action": @"upload", @"user_id": userId, @"imageOnBase64": image }; 1071 NSDictionary *postDictionary = @{@"action": @"upload", @"user_id": userId, @"imageOnBase64": image };
......
...@@ -1493,4 +1493,65 @@ public class swiftApi { ...@@ -1493,4 +1493,65 @@ public class swiftApi {
1493 } 1493 }
1494 } 1494 }
1495 1495
1496 +
1497 + public class GenericResponseModel {
1498 + private var result: Int?
1499 + private var status: Int?
1500 + private var msg: String?
1501 +
1502 +
1503 + init(dictionary: [String: Any]) {
1504 + self.result = dictionary["result"] as? Int? ?? -1
1505 + self.status = dictionary["status"] as? Int? ?? -1
1506 + self.msg = dictionary["msg"] as? String? ?? ""
1507 + }
1508 +
1509 + public var getResult: Int {
1510 + get { // getter
1511 + return self.result ?? -1
1512 + }
1513 + }
1514 +
1515 + public var getStatus: Int {
1516 + get { // getter
1517 + return self.status ?? -1
1518 + }
1519 + }
1520 +
1521 + public var getMsg: String {
1522 + get { // getter
1523 + return self.msg ?? ""
1524 + }
1525 + }
1526 + }
1527 +
1528 +
1529 + public func consumerIntegrationAsync(nonTelco: Bool, acceptedConsent: Bool, msisdnList: Array<String>, guid: String, _ consumerIntegrationCallback: @escaping (_ responseData: GenericResponseModel?) -> Void) -> Void {
1530 +
1531 + let instanceOfMyApi = MyApi()
1532 + instanceOfMyApi.consumerIntegrationAsync(nonTelco as NSNumber, acceptedConsent as NSNumber, msisdnList, guid, requestCallback, failureBlock: requestFailureCallback)
1533 +
1534 + func requestCallback(_ responseData: [AnyHashable: Any]?) -> Void {
1535 +
1536 + if let responseDataDictionary = responseData as? [String: Any] {
1537 +
1538 + let tempResponse = GenericResponseModel(dictionary: responseDataDictionary)
1539 +
1540 + consumerIntegrationCallback(tempResponse);
1541 +
1542 + } else {
1543 + consumerIntegrationCallback(nil)
1544 + }
1545 +
1546 + }
1547 +
1548 + func requestFailureCallback(_ error: Error?) -> Void {
1549 + print("consumerIntegration error: ")
1550 + print(error)
1551 + print("====================")
1552 + consumerIntegrationCallback(nil)
1553 + }
1554 +
1555 + }
1556 +
1496 } 1557 }
......