Skip to content

Commit 36fcf7c

Browse files
authored
Merge pull request #173 from olgadanylova/master
BackendlessUserAdapter fixed to handle errors correctly
2 parents 06d0960 + 9dd84de commit 36fcf7c

File tree

5 files changed

+21
-16
lines changed

5 files changed

+21
-16
lines changed

SDK/backendlessAPI/Classes/Persistence/PersistenceAdapter/BackendlessUserAdapter.m

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -30,23 +30,28 @@
3030
@implementation BackendlessUserAdapter
3131

3232
-(id)adapt:(id)type {
33-
V3Message *v3 = (V3Message *)[type defaultAdapt];
34-
if (v3.isError) {
35-
ErrMessage *result = (ErrMessage *)v3;
36-
return [Fault fault:result.faultString detail:result.faultDetail faultCode:result.faultCode];
37-
}
3833
NSMutableDictionary *typeProperties = ((AnonymousObject *)[type getCacheKey]).properties;
39-
id body = [typeProperties valueForKey:@"body"];
40-
if ([body isKindOfClass:[NamedObject class]]) {
41-
return [self adaptToBackendlessUser:body];
34+
if ([typeProperties valueForKey:@"faultCode"] ||
35+
[typeProperties valueForKey:@"faultDetail"] ||
36+
[typeProperties valueForKey:@"faultString"]) {
37+
Fault *fault = [[Fault alloc] initWithMessage:[[typeProperties valueForKey:@"faultString"] defaultAdapt]
38+
detail:[[typeProperties valueForKey:@"faultDetail"] defaultAdapt]
39+
faultCode:[[typeProperties valueForKey:@"faultCode"] defaultAdapt]];
40+
return fault;
4241
}
43-
else if ([body isKindOfClass:[ArrayType class]]) {
44-
NSMutableArray *result = [NSMutableArray new];
45-
NSArray *bodyObjects = [body getArray];
46-
for (NamedObject *bodyObject in bodyObjects) {
47-
[result addObject:[self adaptToBackendlessUser:bodyObject]];
42+
else {
43+
id body = [typeProperties valueForKey:@"body"];
44+
if ([body isKindOfClass:[NamedObject class]]) {
45+
return [self adaptToBackendlessUser:body];
46+
}
47+
else if ([body isKindOfClass:[ArrayType class]]) {
48+
NSMutableArray *result = [NSMutableArray new];
49+
NSArray *bodyObjects = [body getArray];
50+
for (NamedObject *bodyObject in bodyObjects) {
51+
[result addObject:[self adaptToBackendlessUser:bodyObject]];
52+
}
53+
return result;
4854
}
49-
return result;
5055
}
5156
return nil;
5257
}
@@ -55,7 +60,7 @@ -(BackendlessUser *)adaptToBackendlessUser:(NamedObject *)body {
5560
BackendlessUser *user = [BackendlessUser new];
5661
NSMutableDictionary *bodyProperties = ((AnonymousObject *)[body getCacheKey]).properties;
5762
for (NSString *key in [bodyProperties allKeys]) {
58-
[user setProperty:key object:[[bodyProperties valueForKey:key] defaultAdapt]];
63+
[user setProperty:key object:[[bodyProperties valueForKey:key] defaultAdapt]];
5964
}
6065
return user;
6166
}

SDK/backendlessAPI/Classes/weborb/Reader/AnonymousObject.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ -(id)setFieldsDirect:(id)obj cache:(ReaderReferenceCache *)referenceCache {
111111
}
112112
}
113113
}
114-
114+
115115
// BackendlessUser adaptation (for relations)
116116
if ([propValue isKindOfClass:[ArrayType class]]) {
117117
NSMutableArray *newPropValueArray = [NSMutableArray new];

SDK/ios/backendless/backendless.a

-5.38 KB
Binary file not shown.

SDK/lib/backendless/backendless.a

-5.38 KB
Binary file not shown.
-440 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)