Commit c3656cafffb5d95c763fcf277c19dc650ce02657

Authored by phong
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];