Commit c3656cafffb5d95c763fcf277c19dc650ce02657
1 parent
3c805063b5
Exists in
master
update refreshToken
Showing 1 changed file with 118 additions and 37 deletions Side-by-side Diff
LifeLog/LifeLog/ServerAPI.m
| ... | ... | @@ -350,8 +350,14 @@ |
| 350 | 350 | } |
| 351 | 351 | |
| 352 | 352 | if ([message isEqualToString:@"Token is invalid"]) { |
| 353 | - [self performSelectorOnMainThread:@selector(checkToken) withObject:nil waitUntilDone:YES]; | |
| 354 | - [self requestTopWithMode:mode andDate:date CompletionHandler:completion]; | |
| 353 | + [self checkTokenCompletionHandler:^(NSString *token, NSError *error) { | |
| 354 | + if (error == nil) { | |
| 355 | + [self requestTopWithMode:mode andDate:date CompletionHandler:completion]; | |
| 356 | + } | |
| 357 | + else { | |
| 358 | + completion(nil, error); | |
| 359 | + } | |
| 360 | + }]; | |
| 355 | 361 | } |
| 356 | 362 | else { |
| 357 | 363 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; |
| ... | ... | @@ -407,8 +413,14 @@ |
| 407 | 413 | } |
| 408 | 414 | |
| 409 | 415 | if ([message isEqualToString:@"Token is invalid"]) { |
| 410 | - [self performSelectorOnMainThread:@selector(checkToken) withObject:nil waitUntilDone:YES]; | |
| 411 | - [self requestHomeWithMode:mode andDate:date CompletionHandler:completion]; | |
| 416 | + [self checkTokenCompletionHandler:^(NSString *token, NSError *error) { | |
| 417 | + if (error == nil) { | |
| 418 | + [self requestHomeWithMode:mode andDate:date CompletionHandler:completion]; | |
| 419 | + } | |
| 420 | + else { | |
| 421 | + completion(nil, error); | |
| 422 | + } | |
| 423 | + }]; | |
| 412 | 424 | } |
| 413 | 425 | else { |
| 414 | 426 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; |
| ... | ... | @@ -447,8 +459,14 @@ |
| 447 | 459 | } |
| 448 | 460 | |
| 449 | 461 | if ([message isEqualToString:@"Token is invalid"]) { |
| 450 | - [self performSelectorOnMainThread:@selector(checkToken) withObject:nil waitUntilDone:YES]; | |
| 451 | - [self requestCreateLog:mode withStep:numStep startDate:startDate endDate:endDate CompletionHandler:completion]; | |
| 462 | + [self checkTokenCompletionHandler:^(NSString *token, NSError *error) { | |
| 463 | + if (error == nil) { | |
| 464 | + [self requestCreateLog:mode withStep:numStep startDate:startDate endDate:endDate CompletionHandler:completion]; | |
| 465 | + } | |
| 466 | + else { | |
| 467 | + completion(error); | |
| 468 | + } | |
| 469 | + }]; | |
| 452 | 470 | } |
| 453 | 471 | else { |
| 454 | 472 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; |
| ... | ... | @@ -506,9 +524,15 @@ |
| 506 | 524 | } |
| 507 | 525 | |
| 508 | 526 | if ([message isEqualToString:@"Token is invalid"]) { |
| 509 | - [self performSelectorOnMainThread:@selector(checkToken) withObject:nil waitUntilDone:YES]; | |
| 510 | - NSString *tokenNew = [[NSUserDefaults standardUserDefaults] objectForKey:kToken]; | |
| 511 | - [self requestHistory:tokenNew startDate:startDate endDate:endDate CompletionHandler:completion]; | |
| 527 | + [self checkTokenCompletionHandler:^(NSString *token, NSError *error) { | |
| 528 | + if (error == nil) { | |
| 529 | + NSString *tokenNew = [[NSUserDefaults standardUserDefaults] objectForKey:kToken]; | |
| 530 | + [self requestHistory:tokenNew startDate:startDate endDate:endDate CompletionHandler:completion]; | |
| 531 | + } | |
| 532 | + else { | |
| 533 | + completion(nil, error); | |
| 534 | + } | |
| 535 | + }]; | |
| 512 | 536 | } |
| 513 | 537 | else { |
| 514 | 538 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; |
| ... | ... | @@ -576,9 +600,15 @@ |
| 576 | 600 | } |
| 577 | 601 | |
| 578 | 602 | if ([message isEqualToString:@"Token is invalid"]) { |
| 579 | - [self performSelectorOnMainThread:@selector(checkToken) withObject:nil waitUntilDone:YES]; | |
| 580 | - NSString *tokenNew = [[NSUserDefaults standardUserDefaults] objectForKey:kToken]; | |
| 581 | - [self requestHistoryList:tokenNew startDate:startDate endDate:endDate CompletionHandler:completion]; | |
| 603 | + [self checkTokenCompletionHandler:^(NSString *token, NSError *error) { | |
| 604 | + if (error == nil) { | |
| 605 | + NSString *tokenNew = [[NSUserDefaults standardUserDefaults] objectForKey:kToken]; | |
| 606 | + [self requestHistoryList:tokenNew startDate:startDate endDate:endDate CompletionHandler:completion]; | |
| 607 | + } | |
| 608 | + else { | |
| 609 | + completion(nil, error); | |
| 610 | + } | |
| 611 | + }]; | |
| 582 | 612 | } |
| 583 | 613 | else { |
| 584 | 614 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; |
| ... | ... | @@ -633,9 +663,15 @@ |
| 633 | 663 | } |
| 634 | 664 | |
| 635 | 665 | if ([message isEqualToString:@"Token is invalid"]) { |
| 636 | - [self performSelectorOnMainThread:@selector(checkToken) withObject:nil waitUntilDone:YES]; | |
| 637 | - NSString *tokenNew = [[NSUserDefaults standardUserDefaults] objectForKey:kToken]; | |
| 638 | - [self requestTweetsList:tokenNew groupID:groupID withPage:page CompletionHandler:completion]; | |
| 666 | + [self checkTokenCompletionHandler:^(NSString *token, NSError *error) { | |
| 667 | + if (error == nil) { | |
| 668 | + NSString *tokenNew = [[NSUserDefaults standardUserDefaults] objectForKey:kToken]; | |
| 669 | + [self requestTweetsList:tokenNew groupID:groupID withPage:page CompletionHandler:completion]; | |
| 670 | + } | |
| 671 | + else { | |
| 672 | + completion(nil, error); | |
| 673 | + } | |
| 674 | + }]; | |
| 639 | 675 | } |
| 640 | 676 | else { |
| 641 | 677 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; |
| ... | ... | @@ -741,9 +777,15 @@ |
| 741 | 777 | } |
| 742 | 778 | |
| 743 | 779 | if ([message isEqualToString:@"Token is invalid"]) { |
| 744 | - [self performSelectorOnMainThread:@selector(checkToken) withObject:nil waitUntilDone:YES]; | |
| 745 | - NSString *tokenNew = [[NSUserDefaults standardUserDefaults] objectForKey:kToken]; | |
| 746 | - [self requestCreateGroup:tokenNew withGroup:group CompletionHandler:completion]; | |
| 780 | + [self checkTokenCompletionHandler:^(NSString *token, NSError *error) { | |
| 781 | + if (error == nil) { | |
| 782 | + NSString *tokenNew = [[NSUserDefaults standardUserDefaults] objectForKey:kToken]; | |
| 783 | + [self requestCreateGroup:tokenNew withGroup:group CompletionHandler:completion]; | |
| 784 | + } | |
| 785 | + else { | |
| 786 | + completion(nil, error); | |
| 787 | + } | |
| 788 | + }]; | |
| 747 | 789 | } |
| 748 | 790 | else { |
| 749 | 791 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; |
| ... | ... | @@ -790,9 +832,15 @@ |
| 790 | 832 | } |
| 791 | 833 | |
| 792 | 834 | if ([message isEqualToString:@"Token is invalid"]) { |
| 793 | - [self performSelectorOnMainThread:@selector(checkToken) withObject:nil waitUntilDone:YES]; | |
| 794 | - NSString *tokenNew = [[NSUserDefaults standardUserDefaults] objectForKey:kToken]; | |
| 795 | - [self getGroupDetail:tokenNew withGroupID:groupID CompletionHandler:completion]; | |
| 835 | + [self checkTokenCompletionHandler:^(NSString *token, NSError *error) { | |
| 836 | + if (error == nil) { | |
| 837 | + NSString *tokenNew = [[NSUserDefaults standardUserDefaults] objectForKey:kToken]; | |
| 838 | + [self getGroupDetail:tokenNew withGroupID:groupID CompletionHandler:completion]; | |
| 839 | + } | |
| 840 | + else { | |
| 841 | + completion(nil, error); | |
| 842 | + } | |
| 843 | + }]; | |
| 796 | 844 | } |
| 797 | 845 | else { |
| 798 | 846 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; |
| ... | ... | @@ -843,9 +891,15 @@ |
| 843 | 891 | } |
| 844 | 892 | |
| 845 | 893 | if ([message isEqualToString:@"Token is invalid"]) { |
| 846 | - [self performSelectorOnMainThread:@selector(checkToken) withObject:nil waitUntilDone:YES]; | |
| 847 | - NSString *tokenNew = [[NSUserDefaults standardUserDefaults] objectForKey:kToken]; | |
| 848 | - [self requestMemberList:tokenNew groupID:groupID withPage:page CompletionHandler:completion]; | |
| 894 | + [self checkTokenCompletionHandler:^(NSString *token, NSError *error) { | |
| 895 | + if (error == nil) { | |
| 896 | + NSString *tokenNew = [[NSUserDefaults standardUserDefaults] objectForKey:kToken]; | |
| 897 | + [self requestMemberList:tokenNew groupID:groupID withPage:page CompletionHandler:completion]; | |
| 898 | + } | |
| 899 | + else { | |
| 900 | + completion(nil, error); | |
| 901 | + } | |
| 902 | + }]; | |
| 849 | 903 | } |
| 850 | 904 | else { |
| 851 | 905 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; |
| ... | ... | @@ -886,9 +940,15 @@ |
| 886 | 940 | else { |
| 887 | 941 | NSString *message = dataResult[@"message"]; |
| 888 | 942 | if ([message isEqualToString:@"Token is invalid"]) { |
| 889 | - [self performSelectorOnMainThread:@selector(checkToken) withObject:nil waitUntilDone:YES]; | |
| 890 | - NSString *tokenNew = [[NSUserDefaults standardUserDefaults] objectForKey:kToken]; | |
| 891 | - [self requestJoinGroup:tokenNew groupID:groupID CompletionHandler:completion]; | |
| 943 | + [self checkTokenCompletionHandler:^(NSString *token, NSError *error) { | |
| 944 | + if (error == nil) { | |
| 945 | + NSString *tokenNew = [[NSUserDefaults standardUserDefaults] objectForKey:kToken]; | |
| 946 | + [self requestJoinGroup:tokenNew groupID:groupID CompletionHandler:completion]; | |
| 947 | + } | |
| 948 | + else { | |
| 949 | + completion(error); | |
| 950 | + } | |
| 951 | + }]; | |
| 892 | 952 | } |
| 893 | 953 | else { |
| 894 | 954 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; |
| ... | ... | @@ -939,9 +999,15 @@ |
| 939 | 999 | } |
| 940 | 1000 | |
| 941 | 1001 | if ([message isEqualToString:@"Token is invalid"]) { |
| 942 | - [self performSelectorOnMainThread:@selector(checkToken) withObject:nil waitUntilDone:YES]; | |
| 943 | - NSString *tokenNew = [[NSUserDefaults standardUserDefaults] objectForKey:kToken]; | |
| 944 | - [self requestGroupList:tokenNew CompletionHandler:completion]; | |
| 1002 | + [self checkTokenCompletionHandler:^(NSString *token, NSError *error) { | |
| 1003 | + if (error == nil) { | |
| 1004 | + NSString *tokenNew = [[NSUserDefaults standardUserDefaults] objectForKey:kToken]; | |
| 1005 | + [self requestGroupList:tokenNew CompletionHandler:completion]; | |
| 1006 | + } | |
| 1007 | + else { | |
| 1008 | + completion(nil, error); | |
| 1009 | + } | |
| 1010 | + }]; | |
| 945 | 1011 | } |
| 946 | 1012 | else { |
| 947 | 1013 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; |
| ... | ... | @@ -987,9 +1053,15 @@ |
| 987 | 1053 | } |
| 988 | 1054 | |
| 989 | 1055 | if ([message isEqualToString:@"Token is invalid"]) { |
| 990 | - [self performSelectorOnMainThread:@selector(checkToken) withObject:nil waitUntilDone:YES]; | |
| 991 | - NSString *tokenNew = [[NSUserDefaults standardUserDefaults] objectForKey:kToken]; | |
| 992 | - [self requestRankingList:tokenNew startDate:startDate endDate:endDate mode:mode page:page CompletionHandler:completion]; | |
| 1056 | + [self checkTokenCompletionHandler:^(NSString *token, NSError *error) { | |
| 1057 | + if (error == nil) { | |
| 1058 | + NSString *tokenNew = [[NSUserDefaults standardUserDefaults] objectForKey:kToken]; | |
| 1059 | + [self requestRankingList:tokenNew startDate:startDate endDate:endDate mode:mode page:page CompletionHandler:completion]; | |
| 1060 | + } | |
| 1061 | + else { | |
| 1062 | + completion(nil, error); | |
| 1063 | + } | |
| 1064 | + }]; | |
| 993 | 1065 | } |
| 994 | 1066 | else { |
| 995 | 1067 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; |
| ... | ... | @@ -1024,7 +1096,7 @@ |
| 1024 | 1096 | completion(token, nil); |
| 1025 | 1097 | } |
| 1026 | 1098 | else { |
| 1027 | - NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":@"Unknown Error"}]; | |
| 1099 | + NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":@"refreshToken Error"}]; | |
| 1028 | 1100 | completion(nil, errorObject); |
| 1029 | 1101 | } |
| 1030 | 1102 | |
| ... | ... | @@ -1032,7 +1104,7 @@ |
| 1032 | 1104 | else { // status = 0 error |
| 1033 | 1105 | NSString *message = dataResult[@"message"]; |
| 1034 | 1106 | if (message == nil) { |
| 1035 | - message = @"Unknown error"; | |
| 1107 | + message = @"refreshToken Error"; | |
| 1036 | 1108 | } |
| 1037 | 1109 | NSError *loginFaild = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; |
| 1038 | 1110 | completion(nil, loginFaild); |
| ... | ... | @@ -1091,8 +1163,8 @@ |
| 1091 | 1163 | } |
| 1092 | 1164 | |
| 1093 | 1165 | #pragma mark - Private Function |
| 1094 | -- (void) checkToken { | |
| 1095 | - // [[NSNotificationCenter defaultCenter] postNotificationName:kNotificationToken object:nil]; | |
| 1166 | +- (void) checkTokenCompletionHandler:(void (^)(NSString *, NSError *)) completion | |
| 1167 | +{ | |
| 1096 | 1168 | NSData *data = [[NSUserDefaults standardUserDefaults] objectForKey:kUser]; |
| 1097 | 1169 | User *user = (User *)[NSKeyedUnarchiver unarchiveObjectWithData:data]; |
| 1098 | 1170 | if (user != nil) { |
| 1099 | 1171 | |
| 1100 | 1172 | |
| 1101 | 1173 | |
| ... | ... | @@ -1100,10 +1172,19 @@ |
| 1100 | 1172 | if (error == nil) { |
| 1101 | 1173 | [[NSUserDefaults standardUserDefaults] setObject:token forKey:kToken]; |
| 1102 | 1174 | [[NSUserDefaults standardUserDefaults] synchronize]; |
| 1175 | + completion(token, nil); | |
| 1103 | 1176 | } |
| 1177 | + else { | |
| 1178 | + completion(nil, error); | |
| 1179 | + } | |
| 1104 | 1180 | }]; |
| 1105 | 1181 | } |
| 1182 | + else { | |
| 1183 | + NSError *error = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":@"User not found"}]; | |
| 1184 | + completion(nil, error); | |
| 1185 | + } | |
| 1106 | 1186 | } |
| 1187 | + | |
| 1107 | 1188 | - (NSData *) _encodeDictionary: (NSDictionary *) dictionary |
| 1108 | 1189 | { |
| 1109 | 1190 | NSMutableArray *parts = [[NSMutableArray alloc] init]; |