[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/contentstack/contentstack-ios/master/Contentstack/SyncStack.m [Back]  [Original]

//
//  SyncStack.m
//  ThirdPartyExtension
//
//  Created by Uttam Ukkoji on 02/07/18.
//  Copyright  2018 Contentstack. All rights reserved.
//

#import "SyncStack.h"
#import "CSIOInternalHeaders.h"
@implementation SyncStack

-(instancetype)initWithParmas:(NSDictionary*) parmas {
    self = [super init];
    if (self) {
        self.params = parmas;
        if ([[self.params objectForKey:@"sync_token"] isKindOfClass:[NSString class]]) {
            self.syncToken = [self.params objectForKey:@"sync_token"];
        }
        self.items = [NSArray array];
    }
    return self;
}

-(void)parseSyncResult:(NSDictionary *)dictionary {
    if (![dictionary isKindOfClass:[NSNull class]]) {
        self.syncToken = nil;
        self.paginationToken = nil;
        self.hasMorePages = false;
        if ([dictionary objectForKey:@"sync_token"]) {
            self.syncToken = [dictionary objectForKey:@"sync_token"];
        }
        if ([dictionary objectForKey:@"pagination_token"]) {
            self.hasMorePages = true;
            self.paginationToken = [dictionary objectForKey:@"pagination_token"];
        }
        if ([dictionary objectForKey:@"total_count"]) {
            self.totalCount = [[dictionary objectForKey:@"total_count"] unsignedIntValue];
        }
        if ([dictionary objectForKey:@"skip"] != nil && [[dictionary objectForKey:@"skip"] isKindOfClass:[NSNumber class]]){
            self.skip = [[dictionary objectForKey:@"skip"] unsignedIntValue];
        }
        if ([dictionary objectForKey:@"limit"] != nil && [[dictionary objectForKey:@"limit"] isKindOfClass:[NSNumber class]]){
            self.limit = [[dictionary objectForKey:@"limit"] unsignedIntValue];
        }
        if ([dictionary objectForKey:@"items"] && [[dictionary objectForKey:@"items"] isKindOfClass:[NSArray class]]) {
            self.items = [dictionary objectForKey:@"items"];//[[self.items mutableCopy] arrayByAddingObjectsFromArray:[dictionary objectForKey:@"items"]];
        }
    }
}

-(NSDictionary*)getParameters {
    NSMutableDictionary *syncParams = [NSMutableDictionary dictionary];
    if (self.syncToken != nil) {
        [syncParams setValue:self.syncToken forKey:@"sync_token"];
    }else if (self.paginationToken != nil) {
        [syncParams setValue:self.paginationToken forKey:@"pagination_token"];
    }else {
        syncParams = [NSMutableDictionary dictionaryWithDictionary:self.params];
        [syncParams setValue:@"true" forKey:@"init"];
    }
    return syncParams;
}
@end

Web Proxy Viewer  |  New URL  |  Original Page