Skip to content

Commit e0210b8

Browse files
authored
Merge pull request #32 from pubnub/develop
Objects updates
2 parents 7d74a9a + 8488578 commit e0210b8

23 files changed

+120
-59
lines changed

.pubnub.yml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
---
22
changelog:
3+
-
4+
changes:
5+
-
6+
text: "Message Actions added missing TotalCount, Next, Prev for Get Users/Spaces, Manage/Get Members/Memberships"
7+
type: improvement
8+
-
9+
text: "Return types of Start and End in PNGetMessageActionsMore changed to long"
10+
type: improvement
11+
date: Nov 22, 19
12+
version: v4.6.0
313
-
414
changes:
515
-
@@ -442,4 +452,4 @@ supported-platforms:
442452
- "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."
443453
- "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."
444454
version: "PubNub Unity SDK"
445-
version: v4.5.0
455+
version: v4.6.0

PubNubUnity/Assets/PubNub/Builders/MessageActions/GetMessageActionsRequestBuilder.cs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,12 +84,19 @@ protected override void CreatePubNubResponse(object deSerializedResult, RequestS
8484
dictionary.TryGetValue("more", out objMore);
8585
if(objMore!=null){
8686
Dictionary<string, object> objMoreDict = objMore as Dictionary<string, object>;
87-
pnGetMessageActionsResult.More.Start = Utility.ReadMessageFromResponseDictionary(objMoreDict, "start");
88-
int limit;
8987
string log;
88+
long start;
89+
Utility.TryCheckKeyAndParseLong(objMoreDict, "start", "start", out log, out start);
90+
pnGetMessageActionsResult.More.Start = start;
91+
92+
int limit;
9093
Utility.TryCheckKeyAndParseInt(objMoreDict, "limit", "limit", out log, out limit);
9194
pnGetMessageActionsResult.More.Limit = limit;
92-
pnGetMessageActionsResult.More.End = Utility.ReadMessageFromResponseDictionary(objMoreDict, "end");
95+
96+
long end;
97+
Utility.TryCheckKeyAndParseLong(objMoreDict, "end", "end", out log, out end);
98+
pnGetMessageActionsResult.More.End = start;
99+
93100
pnGetMessageActionsResult.More.URL = Utility.ReadMessageFromResponseDictionary(objMoreDict, "url");
94101
}
95102
}

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

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,9 +93,16 @@ protected override void CreatePubNubResponse(object deSerializedResult, RequestS
9393
}
9494
}
9595
} else {
96-
pnGetMembersResult = null;
9796
pnStatus = base.CreateErrorResponseFromException(new PubNubException("objData null"), requestState, PNStatusCategory.PNUnknownCategory);
98-
}
97+
}
98+
int totalCount;
99+
string next;
100+
string prev;
101+
ObjectsHelpers.ExtractPagingParamsAndTotalCount(dictionary, "totalCount", "next", "prev", out totalCount, out next, out prev);
102+
pnGetMembersResult.Next = next;
103+
pnGetMembersResult.Prev = prev;
104+
pnGetMembersResult.TotalCount = totalCount;
105+
99106
}
100107
} catch (Exception ex){
101108
pnGetMembersResult = null;

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

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,10 +93,18 @@ protected override void CreatePubNubResponse(object deSerializedResult, RequestS
9393
}
9494
}
9595
} else {
96-
pnGetMembershipsResult = null;
9796
pnStatus = base.CreateErrorResponseFromException(new PubNubException("objData null"), requestState, PNStatusCategory.PNUnknownCategory);
9897
}
98+
int totalCount;
99+
string next;
100+
string prev;
101+
ObjectsHelpers.ExtractPagingParamsAndTotalCount(dictionary, "totalCount", "next", "prev", out totalCount, out next, out prev);
102+
pnGetMembershipsResult.Next = next;
103+
pnGetMembershipsResult.Prev = prev;
104+
pnGetMembershipsResult.TotalCount = totalCount;
105+
99106
}
107+
100108
} catch (Exception ex){
101109
pnGetMembershipsResult = null;
102110
pnStatus = base.CreateErrorResponseFromException(ex, requestState, PNStatusCategory.PNUnknownCategory);

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

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,15 @@ protected override void CreatePubNubResponse(object deSerializedResult, RequestS
101101
}
102102
else
103103
{
104-
pnSpaceResultList = null;
105104
pnStatus = base.CreateErrorResponseFromException(new PubNubException("objData null"), requestState, PNStatusCategory.PNUnknownCategory);
106105
}
106+
int totalCount;
107+
string next;
108+
string prev;
109+
ObjectsHelpers.ExtractPagingParamsAndTotalCount(dictionary, "totalCount", "next", "prev", out totalCount, out next, out prev);
110+
pnSpaceResultList.Next = next;
111+
pnSpaceResultList.Prev = prev;
112+
pnSpaceResultList.TotalCount = totalCount;
107113
}
108114
}
109115
catch (Exception ex)

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,9 @@ protected override void CreatePubNubResponse(object deSerializedResult, RequestS
6060
if(objDataDict!=null){
6161
pnUserResult = ObjectsHelpers.ExtractUser(objDataDict);
6262
} else {
63-
pnUserResult = null;
6463
pnStatus = base.CreateErrorResponseFromException(new PubNubException("objDataDict not present"), requestState, PNStatusCategory.PNUnknownCategory);
6564
}
6665
} else {
67-
pnUserResult = null;
6866
pnStatus = base.CreateErrorResponseFromException(new PubNubException("Data not present"), requestState, PNStatusCategory.PNUnknownCategory);
6967
}
7068
}

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

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,15 @@ protected override void CreatePubNubResponse(object deSerializedResult, RequestS
8686
}
8787
}
8888
} else {
89-
pnUserResultList = null;
9089
pnStatus = base.CreateErrorResponseFromException(new PubNubException("objData null"), requestState, PNStatusCategory.PNUnknownCategory);
9190
}
91+
int totalCount;
92+
string next;
93+
string prev;
94+
ObjectsHelpers.ExtractPagingParamsAndTotalCount(dictionary, "totalCount", "next", "prev", out totalCount, out next, out prev);
95+
pnUserResultList.Next = next;
96+
pnUserResultList.Prev = prev;
97+
pnUserResultList.TotalCount = totalCount;
9298
}
9399
} catch (Exception ex){
94100
pnUserResultList = null;

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

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,9 +138,15 @@ protected override void CreatePubNubResponse(object deSerializedResult, RequestS
138138
}
139139
}
140140
} else {
141-
pnManageMembersResult = null;
142141
pnStatus = base.CreateErrorResponseFromException(new PubNubException("objData null"), requestState, PNStatusCategory.PNUnknownCategory);
143-
}
142+
}
143+
int totalCount;
144+
string next;
145+
string prev;
146+
ObjectsHelpers.ExtractPagingParamsAndTotalCount(dictionary, "totalCount", "next", "prev", out totalCount, out next, out prev);
147+
pnManageMembersResult.Next = next;
148+
pnManageMembersResult.Prev = prev;
149+
pnManageMembersResult.TotalCount = totalCount;
144150
}
145151
} catch (Exception ex){
146152
pnManageMembersResult = null;

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

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,9 +122,15 @@ protected override void CreatePubNubResponse(object deSerializedResult, RequestS
122122
}
123123
}
124124
} else {
125-
pnManageMembershipsResult = null;
126125
pnStatus = base.CreateErrorResponseFromException(new PubNubException("objData null"), requestState, PNStatusCategory.PNUnknownCategory);
127-
}
126+
}
127+
int totalCount;
128+
string next;
129+
string prev;
130+
ObjectsHelpers.ExtractPagingParamsAndTotalCount(dictionary, "totalCount", "next", "prev", out totalCount, out next, out prev);
131+
pnManageMembershipsResult.Next = next;
132+
pnManageMembershipsResult.Prev = prev;
133+
pnManageMembershipsResult.TotalCount = totalCount;
128134
}
129135
} catch (Exception ex){
130136
pnManageMembershipsResult = null;

PubNubUnity/Assets/PubNub/Helpers/ObjectsHelpers.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,13 @@ public static PNMembers ExtractMembers(Dictionary<string, object> objDataDict){
7979
return pnMembers;
8080
}
8181

82+
public static void ExtractPagingParamsAndTotalCount(Dictionary<string, object> dictionary, string totalCountName, string nextName, string prevName, out int totalCount, out string next, out string prev){
83+
next = Utility.ReadMessageFromResponseDictionary(dictionary, nextName);
84+
prev = Utility.ReadMessageFromResponseDictionary(dictionary, prevName);
85+
string log;
86+
Utility.TryCheckKeyAndParseInt(dictionary, totalCountName, totalCountName, out log, out totalCount);
87+
}
88+
8289
public static PNMemberships ExtractMemberships(Dictionary<string, object> objDataDict){
8390
PNMemberships pnMemberships = new PNMemberships();
8491
pnMemberships.ID = Utility.ReadMessageFromResponseDictionary(objDataDict, "id");

0 commit comments

Comments
 (0)