Skip to content

Commit 6a00a29

Browse files
authored
Merge pull request #52 from pubnub/develop
objects sorting
2 parents 17631dd + abdd411 commit 6a00a29

19 files changed

+2763
-1703
lines changed

.pubnub.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
---
22
changelog:
3+
-
4+
changes:
5+
-
6+
text: "Objects Sorting"
7+
type: feature
8+
date: April 10, 20
9+
version: v4.8.2
310
-
411
changes:
512
-
@@ -508,4 +515,4 @@ supported-platforms:
508515
- "Ubuntu 12.04+, with Graphics card DX9 (shader model 3.0) or DX11 with feature level 9.3 capabilities; and CPU SSE2 instruction set support."
509516
- "Mac OS X 10.8+, with Graphics card DX9 (shader model 3.0) or DX11 with feature level 9.3 capabilities; and CPU SSE2 instruction set support."
510517
version: "PubNub Unity SDK"
511-
version: v4.8.0
518+
version: v4.8.2

PubNubUnity/Assets/PubNub/Builders/Objects/GetMembersRequestBuilder.cs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ public class GetMembersRequestBuilder: PubNubNonSubBuilder<GetMembersRequestBuil
1414
private string GetMembersFilter { get; set;}
1515
private bool GetMembersCount { get; set;}
1616
private PNMembersInclude[] GetMembersInclude { get; set;}
17+
private List<string> SortBy { get; set; }
1718

1819
public GetMembersRequestBuilder(PubNubUnity pn): base(pn, PNOperationType.PNGetMembersOperation){
1920
}
@@ -51,7 +52,11 @@ public GetMembersRequestBuilder End(string end){
5152
public GetMembersRequestBuilder Filter(string filter){
5253
GetMembersFilter = filter;
5354
return this;
54-
}
55+
}
56+
public GetMembersRequestBuilder Sort(List<string> sortBy){
57+
SortBy = sortBy;
58+
return this;
59+
}
5560
public GetMembersRequestBuilder Count(bool count){
5661
GetMembersCount = count;
5762
return this;
@@ -60,7 +65,8 @@ protected override void RunWebRequest(QueueManager qm){
6065
RequestState requestState = new RequestState ();
6166
requestState.OperationType = OperationType;
6267

63-
string[] includeString = (GetMembersInclude==null) ? new string[]{} : GetMembersInclude.Select(a=>a.GetDescription().ToString()).ToArray();
68+
string[] includeString = (GetMembersInclude==null) ? new string[]{} : GetMembersInclude.Select(a=>a.GetDescription().ToString()).ToArray();
69+
List<string> sortFields = SortBy ?? new List<string>();
6470

6571
Uri request = BuildRequests.BuildObjectsGetMembersRequest(
6672
GetMembersSpaceID,
@@ -71,7 +77,8 @@ protected override void RunWebRequest(QueueManager qm){
7177
string.Join(",", includeString),
7278
this.PubNubInstance,
7379
this.QueryParams,
74-
GetMembersFilter
80+
GetMembersFilter,
81+
string.Join(",", sortFields)
7582
);
7683
request = this.PubNubInstance.TokenMgr.AppendTokenToURL( request.OriginalString, GetMembersSpaceID, PNResourceType.PNSpaces, OperationType);
7784
base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this);

PubNubUnity/Assets/PubNub/Builders/Objects/GetMembershipsRequestBuilder.cs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ public class GetMembershipsRequestBuilder: PubNubNonSubBuilder<GetMembershipsReq
1414
private bool GetMembershipsCount { get; set;}
1515
private string GetMembershipsFilter { get; set;}
1616
private PNMembershipsInclude[] GetMembershipsInclude { get; set;}
17-
17+
private List<string> SortBy { get; set; }
18+
1819
public GetMembershipsRequestBuilder(PubNubUnity pn): base(pn, PNOperationType.PNGetMembershipsOperation){
1920
}
2021

@@ -56,11 +57,16 @@ public GetMembershipsRequestBuilder Count(bool count){
5657
GetMembershipsCount = count;
5758
return this;
5859
}
60+
public GetMembershipsRequestBuilder Sort(List<string> sortBy){
61+
SortBy = sortBy;
62+
return this;
63+
}
5964
protected override void RunWebRequest(QueueManager qm){
6065
RequestState requestState = new RequestState ();
6166
requestState.OperationType = OperationType;
6267

63-
string[] includeString = (GetMembershipsInclude==null) ? new string[]{} : GetMembershipsInclude.Select(a=>a.GetDescription().ToString()).ToArray();
68+
string[] includeString = (GetMembershipsInclude==null) ? new string[]{} : GetMembershipsInclude.Select(a=>a.GetDescription().ToString()).ToArray();
69+
List<string> sortFields = SortBy ?? new List<string>();
6470

6571
Uri request = BuildRequests.BuildObjectsGetMembershipsRequest(
6672
GetMembershipsUserID,
@@ -71,7 +77,8 @@ protected override void RunWebRequest(QueueManager qm){
7177
string.Join(",", includeString),
7278
this.PubNubInstance,
7379
this.QueryParams,
74-
GetMembershipsFilter
80+
GetMembershipsFilter,
81+
string.Join(",", sortFields)
7582
);
7683
request = this.PubNubInstance.TokenMgr.AppendTokenToURL( request.OriginalString, GetMembershipsUserID, PNResourceType.PNUsers, OperationType);
7784
base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this);

PubNubUnity/Assets/PubNub/Builders/Objects/GetSpacesRequestBuilder.cs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ public class GetSpacesRequestBuilder : PubNubNonSubBuilder<GetSpacesRequestBuild
1212
private string GetSpacesFilter { get; set; }
1313
private bool GetSpacesCount { get; set; }
1414
private PNUserSpaceInclude[] GetSpacesInclude { get; set; }
15+
private List<string> SortBy { get; set; }
1516
public GetSpacesRequestBuilder(PubNubUnity pn) : base(pn, PNOperationType.PNGetSpacesOperation)
1617
{
1718
}
@@ -48,6 +49,10 @@ public GetSpacesRequestBuilder End(string end)
4849
public GetSpacesRequestBuilder Filter(string filter){
4950
GetSpacesFilter = filter;
5051
return this;
52+
}
53+
public GetSpacesRequestBuilder Sort(List<string> sortBy){
54+
SortBy = sortBy;
55+
return this;
5156
}
5257
public GetSpacesRequestBuilder Count(bool count)
5358
{
@@ -60,6 +65,7 @@ protected override void RunWebRequest(QueueManager qm)
6065
requestState.OperationType = OperationType;
6166

6267
string[] includeString = (GetSpacesInclude==null) ? new string[]{} : GetSpacesInclude.Select(a=>a.GetDescription().ToString()).ToArray();
68+
List<string> sortFields = SortBy ?? new List<string>();
6369

6470
Uri request = BuildRequests.BuildObjectsGetSpacesRequest(
6571
GetSpacesLimit,
@@ -69,9 +75,10 @@ protected override void RunWebRequest(QueueManager qm)
6975
string.Join(",", includeString),
7076
this.PubNubInstance,
7177
this.QueryParams,
72-
GetSpacesFilter
78+
GetSpacesFilter,
79+
string.Join(",", sortFields)
7380
);
74-
request = this.PubNubInstance.TokenMgr.AppendTokenToURL( request.OriginalString, "", PNResourceType.PNSpaces, OperationType);
81+
request = this.PubNubInstance.TokenMgr.AppendTokenToURL( request.OriginalString, "", PNResourceType.PNSpaces, OperationType);
7582
base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this);
7683
}
7784

PubNubUnity/Assets/PubNub/Builders/Objects/GetUsersRequestBuilder.cs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public class GetUsersRequestBuilder: PubNubNonSubBuilder<GetUsersRequestBuilder,
1313
private string GetUsersFilter { get; set;}
1414
private bool GetUsersCount { get; set;}
1515
private PNUserSpaceInclude[] GetUsersInclude { get; set;}
16-
16+
private List<string> SortBy { get; set;}
1717
public GetUsersRequestBuilder(PubNubUnity pn): base(pn, PNOperationType.PNGetUsersOperation){
1818
}
1919

@@ -45,6 +45,10 @@ public GetUsersRequestBuilder End(string end){
4545
public GetUsersRequestBuilder Filter(string filter){
4646
GetUsersFilter = filter;
4747
return this;
48+
}
49+
public GetUsersRequestBuilder Sort(List<string> sortBy){
50+
SortBy = sortBy;
51+
return this;
4852
}
4953
public GetUsersRequestBuilder Count(bool count){
5054
GetUsersCount = count;
@@ -54,7 +58,8 @@ protected override void RunWebRequest(QueueManager qm){
5458
RequestState requestState = new RequestState ();
5559
requestState.OperationType = OperationType;
5660

57-
string[] includeString = (GetUsersInclude==null) ? new string[]{} : GetUsersInclude.Select(a=>a.GetDescription().ToString()).ToArray();
61+
string[] includeString = (GetUsersInclude==null) ? new string[]{} : GetUsersInclude.Select(a=>a.GetDescription().ToString()).ToArray();
62+
List<string> sortFields = SortBy ?? new List<string>();
5863

5964
Uri request = BuildRequests.BuildObjectsGetUsersRequest(
6065
GetUsersLimit,
@@ -64,7 +69,8 @@ protected override void RunWebRequest(QueueManager qm){
6469
string.Join(",", includeString),
6570
this.PubNubInstance,
6671
this.QueryParams,
67-
GetUsersFilter
72+
GetUsersFilter,
73+
string.Join(",", sortFields)
6874
);
6975
request = this.PubNubInstance.TokenMgr.AppendTokenToURL( request.OriginalString, "", PNResourceType.PNUsers, OperationType);
7076
base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this);

PubNubUnity/Assets/PubNub/Builders/Objects/ManageMembersRequestBuilder.cs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public class ManageMembersRequestBuilder: PubNubNonSubBuilder<ManageMembersReque
3131
private List<PNMembersInput> ManageMembersAdd { get; set;}
3232
private List<PNMembersInput> ManageMembersUpdate { get; set;}
3333
private List<PNMembersRemove> ManageMembersRemove { get; set;}
34-
34+
private List<string> SortBy { get; set; }
3535

3636
public ManageMembersRequestBuilder(PubNubUnity pn): base(pn, PNOperationType.PNManageMembersOperation){
3737
}
@@ -82,7 +82,10 @@ public ManageMembersRequestBuilder Remove(List<PNMembersRemove> remove){
8282
ManageMembersRemove = remove;
8383
return this;
8484
}
85-
85+
public ManageMembersRequestBuilder Sort(List<string> sortBy){
86+
SortBy = sortBy;
87+
return this;
88+
}
8689
protected override void RunWebRequest(QueueManager qm){
8790
RequestState requestState = new RequestState ();
8891
requestState.OperationType = OperationType;
@@ -100,7 +103,8 @@ protected override void RunWebRequest(QueueManager qm){
100103
#endif
101104
requestState.POSTData = jsonUserBody;
102105

103-
string[] includeString = (ManageMembersInclude==null) ? new string[]{} : ManageMembersInclude.Select(a=>a.GetDescription().ToString()).ToArray();
106+
string[] includeString = (ManageMembersInclude==null) ? new string[]{} : ManageMembersInclude.Select(a=>a.GetDescription().ToString()).ToArray();
107+
List<string> sortFields = SortBy ?? new List<string>();
104108

105109
Uri request = BuildRequests.BuildObjectsManageMembersRequest(
106110
ManageMembersSpaceID,
@@ -110,7 +114,8 @@ protected override void RunWebRequest(QueueManager qm){
110114
ManageMembersCount,
111115
string.Join(",", includeString),
112116
this.PubNubInstance,
113-
this.QueryParams
117+
this.QueryParams,
118+
string.Join(",", sortFields)
114119
);
115120
request = this.PubNubInstance.TokenMgr.AppendTokenToURL( request.OriginalString, ManageMembersSpaceID, PNResourceType.PNSpaces, OperationType);
116121
base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this);

PubNubUnity/Assets/PubNub/Builders/Objects/ManageMembershipsRequestBuilder.cs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ public class ManageMembershipsRequestBuilder: PubNubNonSubBuilder<ManageMembersh
1616
private List<PNMembersInput> ManageMembershipsAdd { get; set;}
1717
private List<PNMembersInput> ManageMembershipsUpdate { get; set;}
1818
private List<PNMembersRemove> ManageMembershipsRemove { get; set;}
19-
19+
private List<string> SortBy { get; set; }
20+
2021
public ManageMembershipsRequestBuilder(PubNubUnity pn): base(pn, PNOperationType.PNManageMembershipsOperation){
2122
}
2223

@@ -66,7 +67,10 @@ public ManageMembershipsRequestBuilder Remove(List<PNMembersRemove> remove){
6667
ManageMembershipsRemove = remove;
6768
return this;
6869
}
69-
70+
public ManageMembershipsRequestBuilder Sort(List<string> sortBy){
71+
SortBy = sortBy;
72+
return this;
73+
}
7074
protected override void RunWebRequest(QueueManager qm){
7175
RequestState requestState = new RequestState ();
7276
requestState.OperationType = OperationType;
@@ -85,6 +89,7 @@ protected override void RunWebRequest(QueueManager qm){
8589
requestState.POSTData = jsonUserBody;
8690

8791
string[] includeString = (ManagerMembershipsInclude==null) ? new string[]{} : ManagerMembershipsInclude.Select(a=>a.GetDescription().ToString()).ToArray();
92+
List<string> sortFields = SortBy ?? new List<string>();
8893

8994
Uri request = BuildRequests.BuildObjectsManageMembershipsRequest(
9095
ManageMembershipsUserID,
@@ -94,7 +99,8 @@ protected override void RunWebRequest(QueueManager qm){
9499
ManageMembershipsCount,
95100
string.Join(",", includeString),
96101
this.PubNubInstance,
97-
this.QueryParams
102+
this.QueryParams,
103+
string.Join(",", sortFields)
98104
);
99105
request = this.PubNubInstance.TokenMgr.AppendTokenToURL( request.OriginalString, ManageMembershipsUserID, PNResourceType.PNUsers, OperationType);
100106
base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this);

0 commit comments

Comments
 (0)