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]; |