Skip to content

Instantly share code, notes, and snippets.

@simon-hopkins
Last active December 15, 2015 04:09
Show Gist options
  • Save simon-hopkins/5199414 to your computer and use it in GitHub Desktop.
Save simon-hopkins/5199414 to your computer and use it in GitHub Desktop.
if ([errorCode isEqualToString:@"Login001"]) {
self.authState = kAuthStateCompletedUserInvalid;
} else if ([errorCode isEqualToString:@"Login002"]) {
self.authState = kAuthStateCompletedUserDeleted;
} else if ([errorCode isEqualToString:@"Login003"]) {
self.authState = kAuthStateCompletedUserLocked;
} else if ([errorCode isEqualToString:@"Login004"]) {
self.authState = kAuthStateCompletedDataError;
} else if ([errorCode isEqualToString:@"Login005"]) {
self.authState = kAuthStateCompletedUserInvalid;
} else if ([errorCode isEqualToString:@"Login007"]) {
self.authState = kAuthStateCompletedUserInvalid;
} else {
self.authState = kAuthStateErrorGlobal;
// Set up entities to sync (the rest are done lazily)
entitiesToSync = [NSArray arrayWithObjects:[NSNumber numberWithInt:kMyDetails],
[NSNumber numberWithInt:kPeopleSync],
[NSNumber numberWithInt:kTimer],
[NSNumber numberWithInt:kTask],
[NSNumber numberWithInt:kTaskResponsible],
[NSNumber numberWithInt:kProject],
[NSNumber numberWithInt:kCustomer],
[NSNumber numberWithInt:kTrip],
[NSNumber numberWithInt:kMessages],
nil];
// All entities to sync (for a full restore)
allEntitiesToSync = [NSArray arrayWithObjects:[NSNumber numberWithInt:kMyDetails],
[NSNumber numberWithInt:kMessages],
[NSNumber numberWithInt:kMyDetails],
[NSNumber numberWithInt:kTimer],
[NSNumber numberWithInt:kTimesheet],
[NSNumber numberWithInt:kTask],
[NSNumber numberWithInt:kTaskResponsible],
[NSNumber numberWithInt:kProject],
[NSNumber numberWithInt:kCustomer],
[NSNumber numberWithInt:kPeopleSync],
[NSNumber numberWithInt:kExpenseItem],
[NSNumber numberWithInt:kExpenseClaim],
[NSNumber numberWithInt:kTrip],
[NSNumber numberWithInt:kLinkedAccount],
[NSNumber numberWithInt:kReceipt],
[NSNumber numberWithInt:kLocation],
nil];
// Set up all settings to sync
settingsToSync = [NSArray arrayWithObjects:[NSNumber numberWithInt:kTaskType],
[NSNumber numberWithInt:kProjectType],
[NSNumber numberWithInt:kCustomerType],
[NSNumber numberWithInt:kPartnerRole],
[NSNumber numberWithInt:kExpenseType],
[NSNumber numberWithInt:kPriorityType],
[NSNumber numberWithInt:kTaxType],
[NSNumber numberWithInt:kLocation],
[NSNumber numberWithInt:kExpenseType],
nil];
@DavidYKay
Copy link

  • Settings: Pull them in on every login
  • entitiesToSync: Pull them in on Login. Also lazily fetch when user is attempting to view the given ViewController.
  • allEntitiesToSync: Sync all. Debug mainly.

See: [GrandMasterSync syncInitial] and [GrandMasterSync syncAllSettings]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment