Peter 76e5a7fab6 Add 'submodules/HockeySDK-iOS/' from commit 'c7d0c7026303253e2ac576c02655691e5d314fe2'
git-subtree-dir: submodules/HockeySDK-iOS
git-subtree-mainline: 085acd26c4432939403765234266e3c1be0f3dd9
git-subtree-split: c7d0c7026303253e2ac576c02655691e5d314fe2
2019-06-11 18:53:14 +01:00

107 lines
3.6 KiB
Objective-C
Executable File

#import "BITUser.h"
/// Data contract class for type User.
@implementation BITUser
///
/// Adds all members of this class to a dictionary
/// @returns dictionary to which the members of this class will be added.
///
- (NSDictionary *)serializeToDictionary {
NSMutableDictionary *dict = [super serializeToDictionary].mutableCopy;
if (self.accountAcquisitionDate != nil) {
[dict setObject:self.accountAcquisitionDate forKey:@"ai.user.accountAcquisitionDate"];
}
if (self.accountId != nil) {
[dict setObject:self.accountId forKey:@"ai.user.accountId"];
}
if (self.userAgent != nil) {
[dict setObject:self.userAgent forKey:@"ai.user.userAgent"];
}
if (self.userId != nil) {
[dict setObject:self.userId forKey:@"ai.user.id"];
}
if(self.storeRegion != nil) {
[dict setObject:self.storeRegion forKey:@"ai.user.storeRegion"];
}
if(self.authUserId != nil) {
[dict setObject:self.authUserId forKey:@"ai.user.authUserId"];
}
if(self.anonUserAcquisitionDate != nil) {
[dict setObject:self.anonUserAcquisitionDate forKey:@"ai.user.anonUserAcquisitionDate"];
}
if(self.authUserAcquisitionDate != nil) {
[dict setObject:self.authUserAcquisitionDate forKey:@"ai.user.authUserAcquisitionDate"];
}
return dict;
}
#pragma mark - NSCoding
- (instancetype)initWithCoder:(NSCoder *)coder {
self = [super initWithCoder:coder];
if(self) {
_accountAcquisitionDate = [coder decodeObjectForKey:@"self.accountAcquisitionDate"];
_accountId = [coder decodeObjectForKey:@"self.accountId"];
_userAgent = [coder decodeObjectForKey:@"self.userAgent"];
_userId = [coder decodeObjectForKey:@"self.userId"];
_storeRegion = [coder decodeObjectForKey:@"self.storeRegion"];
_authUserId = [coder decodeObjectForKey:@"self.authUserId"];
_anonUserAcquisitionDate = [coder decodeObjectForKey:@"self.anonUserAcquisitionDate"];
_authUserAcquisitionDate = [coder decodeObjectForKey:@"self.authUserAcquisitionDate"];
}
return self;
}
- (void)encodeWithCoder:(NSCoder *)coder {
[super encodeWithCoder:coder];
[coder encodeObject:self.accountAcquisitionDate forKey:@"self.accountAcquisitionDate"];
[coder encodeObject:self.accountId forKey:@"self.accountId"];
[coder encodeObject:self.userAgent forKey:@"self.userAgent"];
[coder encodeObject:self.userId forKey:@"self.userId"];
[coder encodeObject:self.storeRegion forKey:@"self.storeRegion"];
[coder encodeObject:self.authUserId forKey:@"self.authUserId"];
[coder encodeObject:self.anonUserAcquisitionDate forKey:@"self.anonUserAcquisitionDate"];
[coder encodeObject:self.authUserAcquisitionDate forKey:@"self.authUserAcquisitionDate"];
}
#pragma mark - Compare
- (BOOL)isEqualToUser:(BITUser *)aUser {
if (aUser == self) {
return YES;
}
if (!aUser || ![aUser isKindOfClass:[self class]]) {
return NO;
}
if (![self.userId isEqualToString: aUser.userId]) {
return NO;
}
if(![self.authUserId isEqualToString: aUser.authUserId]) {
return NO;
}
if (![self.accountId isEqualToString: aUser.accountId]) {
return NO;
}
if(![self.anonUserAcquisitionDate isEqualToString: aUser.anonUserAcquisitionDate]) {
return NO;
}
if(![self.authUserAcquisitionDate isEqualToString: aUser.authUserAcquisitionDate]) {
return NO;
}
if (![self.accountAcquisitionDate isEqualToString: aUser.accountAcquisitionDate]) {
return NO;
}
if (![self.userAgent isEqualToString: aUser.userAgent]) {
return NO;
}
if(![self.storeRegion isEqualToString: aUser.storeRegion]) {
return NO;
}
return YES;
}
@end