Skip to content

Commit 4d81ac9

Browse files
author
Olha Danylova
committed
added support of sortBy and properties for LoadRelationsQueryBuilder / http://bugs.backendless.com/browse/BKNDLSS-18028
1 parent 8e6b08f commit 4d81ac9

File tree

14 files changed

+123
-2
lines changed

14 files changed

+123
-2
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# RELEASE HISTORY
22

3+
## -
4+
* added support of sortBy and properties for LoadRelationsQueryBuilder
5+
36
## 5.2.12 March, 26 2019
47
* podspec updated to support Socket.IO v14.0.0
58

SDK/backendlessAPI/Classes/Persistence/LoadRelationsQueryBuilder.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,14 @@
3535
-(instancetype) preparePreviousPage;
3636
-(NSMutableArray<NSString*> *)getRelationType;
3737

38+
-(NSMutableArray<NSString*> *)getProperties;
39+
-(instancetype)setProperties:(NSArray<NSString*> *)properties;
40+
-(instancetype)addProperty:(NSString *)property;
41+
-(instancetype)addProperties:(NSArray<NSString *> *)properties;
42+
43+
-(NSMutableArray<NSString *> *)getSortBy;
44+
-(instancetype)setSortBy:(NSArray<NSString *> *)sortBy;
45+
-(instancetype)addSortBy:(NSString *)sortBy;
46+
-(instancetype)addListSortBy:(NSArray<NSString *> *)sortBy;
47+
3848
@end

SDK/backendlessAPI/Classes/Persistence/LoadRelationsQueryBuilder.m

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,14 @@
2424
#import "QueryOptions.h"
2525
#import "BackendlessDataQuery.h"
2626
#import "PagedQueryBuilder.h"
27+
#import "QueryOptionsBuilder.h"
2728

2829
@interface LoadRelationsQueryBuilder () {
2930
NSString *_relationName;
3031
Class _relationType;
3132
PagedQueryBuilder *_pagedQueryBuilder;
33+
NSMutableArray<NSString *> *_properties;
34+
QueryOptionsBuilder *_queryOptionsBuilder;
3235
}
3336
@end
3437

@@ -37,6 +40,8 @@ @implementation LoadRelationsQueryBuilder
3740
-(instancetype)init {
3841
if (self = [super init]) {
3942
_pagedQueryBuilder = [[PagedQueryBuilder alloc] init:self];
43+
_properties = [NSMutableArray<NSString *> new];
44+
_queryOptionsBuilder = [[QueryOptionsBuilder alloc] init:self];
4045
_relationName = nil;
4146
_relationType = nil;
4247
}
@@ -46,6 +51,8 @@ -(instancetype)init {
4651
-(instancetype)initWithClass:(Class)relationType {
4752
if ( (self=[super init]) ) {
4853
_pagedQueryBuilder = [[PagedQueryBuilder alloc] init:self];
54+
_properties = [NSMutableArray<NSString *> new];
55+
_queryOptionsBuilder = [[QueryOptionsBuilder alloc] init:self];
4956
_relationName = nil;
5057
_relationType = relationType;
5158
}
@@ -71,6 +78,7 @@ +(instancetype)of:(Class)relationType {
7178

7279
-(BackendlessDataQuery *)build {
7380
BackendlessDataQuery *dataQuery = [_pagedQueryBuilder build];
81+
dataQuery.properties = _properties ? [[NSMutableArray alloc] initWithArray:_properties] : nil;
7482
QueryOptions *queryOptions = [QueryOptions new];
7583
[queryOptions addRelated:_relationName];
7684
dataQuery.queryOptions = queryOptions;
@@ -106,4 +114,54 @@ -(Class)getRelationType {
106114
return _relationType;
107115
}
108116

117+
-(NSMutableArray<NSString*> *)getProperties {
118+
return _properties;
119+
}
120+
121+
-(instancetype)setProperties:(NSArray<NSString*> *)properties {
122+
if (properties) {
123+
_properties = [[NSMutableArray alloc] initWithArray:properties];
124+
}
125+
return self;
126+
}
127+
128+
-(instancetype)addProperty:(NSString *)property {
129+
if (property) {
130+
[_properties addObject:property];
131+
}
132+
return self;
133+
}
134+
135+
-(instancetype)addProperties:(NSArray<NSString *> *)properties {
136+
if (properties) {
137+
[_properties addObjectsFromArray:properties];
138+
}
139+
return self;
140+
}
141+
142+
-(NSMutableArray<NSString *> *)getSortBy {
143+
return [_queryOptionsBuilder getSortBy];
144+
}
145+
146+
-(instancetype)setSortBy:(NSArray<NSString *> *)sortBy {
147+
if (sortBy) {
148+
[_queryOptionsBuilder setSortBy:sortBy];
149+
}
150+
return self;
151+
}
152+
153+
-(instancetype)addSortBy:(NSString *)sortBy {
154+
if (sortBy) {
155+
[_queryOptionsBuilder addSortBy:sortBy];
156+
}
157+
return self;
158+
}
159+
160+
-(instancetype)addListSortBy:(NSArray<NSString *> *)sortBy {
161+
if (sortBy) {
162+
[_queryOptionsBuilder addListSortBy:sortBy];
163+
}
164+
return self;
165+
}
166+
109167
@end

SDK/backendlessAPI/backendlessAPI.xcodeproj/project.pbxproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5856,8 +5856,6 @@
58565856
F91B48291603649C00012DFC /* IDataStore.h */,
58575857
F99D92231607240B00AFF3F6 /* DataStoreFactory.h */,
58585858
F99D92241607240C00AFF3F6 /* DataStoreFactory.m */,
5859-
84B027E41DF6FABA00F084C2 /* LoadRelationsQueryBuilder.h */,
5860-
84B027E51DF6FABA00F084C2 /* LoadRelationsQueryBuilder.m */,
58615859
F99A74951D4A0CAB001AF91F /* MapDrivenDataStore.h */,
58625860
F99A74961D4A0CAB001AF91F /* MapDrivenDataStore.m */,
58635861
F96B1C5E1DD3A23C00A4B362 /* PagedQueryBuilder.h */,
@@ -5866,6 +5864,8 @@
58665864
F96B1C6B1DD3B6CA00A4B362 /* QueryOptionsBuilder.m */,
58675865
F96B1C781DD4BF5F00A4B362 /* DataQueryBuilder.h */,
58685866
F96B1C791DD4BF5F00A4B362 /* DataQueryBuilder.m */,
5867+
84B027E41DF6FABA00F084C2 /* LoadRelationsQueryBuilder.h */,
5868+
84B027E51DF6FABA00F084C2 /* LoadRelationsQueryBuilder.m */,
58695869
);
58705870
path = Persistence;
58715871
sourceTree = "<group>";

SDK/ios/backendless/backendless.a

-23 KB
Binary file not shown.

SDK/ios/backendless/include/LoadRelationsQueryBuilder.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,14 @@
3535
-(instancetype) preparePreviousPage;
3636
-(NSMutableArray<NSString*> *)getRelationType;
3737

38+
-(NSMutableArray<NSString*> *)getProperties;
39+
-(instancetype)setProperties:(NSArray<NSString*> *)properties;
40+
-(instancetype)addProperty:(NSString *)property;
41+
-(instancetype)addProperties:(NSArray<NSString *> *)properties;
42+
43+
-(NSMutableArray<NSString *> *)getSortBy;
44+
-(instancetype)setSortBy:(NSArray<NSString *> *)sortBy;
45+
-(instancetype)addSortBy:(NSString *)sortBy;
46+
-(instancetype)addListSortBy:(NSArray<NSString *> *)sortBy;
47+
3848
@end

SDK/lib/backendless/backendless.a

-23 KB
Binary file not shown.

SDK/lib/backendless/include/LoadRelationsQueryBuilder.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,14 @@
3535
-(instancetype) preparePreviousPage;
3636
-(NSMutableArray<NSString*> *)getRelationType;
3737

38+
-(NSMutableArray<NSString*> *)getProperties;
39+
-(instancetype)setProperties:(NSArray<NSString*> *)properties;
40+
-(instancetype)addProperty:(NSString *)property;
41+
-(instancetype)addProperties:(NSArray<NSString *> *)properties;
42+
43+
-(NSMutableArray<NSString *> *)getSortBy;
44+
-(instancetype)setSortBy:(NSArray<NSString *> *)sortBy;
45+
-(instancetype)addSortBy:(NSString *)sortBy;
46+
-(instancetype)addListSortBy:(NSArray<NSString *> *)sortBy;
47+
3848
@end

0 commit comments

Comments
 (0)