Skip to content

Commit 24e2da4

Browse files
mohitpubnubMohit Tejanipubnub-release-bot
authored
feat: status and type field support in uuid,channel and members metadata (#259)
* feat(appcontext): support for status and type field in channel and uuid metadata entities * updated data parsing for API results and events for supporting status and type * test(appcontext): added tests for status and type field in all app context apis. * codacy suggestion fixes * codacy suggestion: curly braces around even single line `if` statements * codacy: more curly braces! * PubNub SDK v7.4.0.0 release. --------- Co-authored-by: Mohit Tejani <[email protected]> Co-authored-by: PubNub Release Bot <[email protected]>
1 parent 5dba9d1 commit 24e2da4

38 files changed

+3134
-1997
lines changed

.pubnub.yml

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
name: c-sharp
2-
version: "7.3.15"
2+
version: "7.4.0"
33
schema: 1
44
scm: github.com/pubnub/c-sharp
55
changelog:
6+
- date: 2025-07-23
7+
version: v7.4.0
8+
changes:
9+
- type: feature
10+
text: "Added support for `status` and `type` fields for uuid, channel and members app context apis."
611
- date: 2025-07-03
712
version: v7.3.15
813
changes:
@@ -924,7 +929,7 @@ features:
924929
- QUERY-PARAM
925930
supported-platforms:
926931
-
927-
version: Pubnub 'C#' 7.3.15
932+
version: Pubnub 'C#' 7.4.0
928933
platforms:
929934
- Windows 10 and up
930935
- Windows Server 2008 and up
@@ -935,7 +940,7 @@ supported-platforms:
935940
- .Net Framework 4.6.1+
936941
- .Net Framework 6.0
937942
-
938-
version: PubnubPCL 'C#' 7.3.15
943+
version: PubnubPCL 'C#' 7.4.0
939944
platforms:
940945
- Xamarin.Android
941946
- Xamarin.iOS
@@ -955,7 +960,7 @@ supported-platforms:
955960
- .Net Core
956961
- .Net 6.0
957962
-
958-
version: PubnubUWP 'C#' 7.3.15
963+
version: PubnubUWP 'C#' 7.4.0
959964
platforms:
960965
- Windows Phone 10
961966
- Universal Windows Apps
@@ -979,7 +984,7 @@ sdks:
979984
distribution-type: source
980985
distribution-repository: GitHub
981986
package-name: Pubnub
982-
location: https://github.com/pubnub/c-sharp/releases/tag/v7.3.15.0
987+
location: https://github.com/pubnub/c-sharp/releases/tag/v7.4.0.0
983988
requires:
984989
-
985990
name: ".Net"
@@ -1262,7 +1267,7 @@ sdks:
12621267
distribution-type: source
12631268
distribution-repository: GitHub
12641269
package-name: PubNubPCL
1265-
location: https://github.com/pubnub/c-sharp/releases/tag/v7.3.15.0
1270+
location: https://github.com/pubnub/c-sharp/releases/tag/v7.4.0.0
12661271
requires:
12671272
-
12681273
name: ".Net Core"
@@ -1621,7 +1626,7 @@ sdks:
16211626
distribution-type: source
16221627
distribution-repository: GitHub
16231628
package-name: PubnubUWP
1624-
location: https://github.com/pubnub/c-sharp/releases/tag/v7.3.15.0
1629+
location: https://github.com/pubnub/c-sharp/releases/tag/v7.4.0.0
16251630
requires:
16261631
-
16271632
name: "Universal Windows Platform Development"

CHANGELOG

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
v7.4.0 - July 23 2025
2+
-----------------------------
3+
- Added: added support for `status` and `type` fields for uuid, channel and members app context apis.
4+
15
v7.3.15 - July 03 2025
26
-----------------------------
37
- Added: implemented an in-house CBOR solution for ParseToken() handling to reduce total SDK+dependencies size.

src/Api/PubnubApi/Builder/UrlParameterConverter.cs

Lines changed: 14 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,25 @@
1-
using System;
2-
31
namespace PubnubApi.EndPoint
42
{
53

64
internal static class UrlParameterConverter
75
{
86
public static string MapEnumValueToEndpoint(string enumValue)
97
{
10-
string endpointParameterName = String.Empty;
11-
if (enumValue.ToLowerInvariant() == "custom")
12-
{
13-
endpointParameterName = "custom";
14-
}
15-
else if (enumValue.ToLowerInvariant() == "uuid")
16-
{
17-
endpointParameterName = "uuid";
18-
}
19-
else if (enumValue.ToLowerInvariant() == "channel")
20-
{
21-
endpointParameterName = "channel";
22-
}
23-
else if (enumValue.ToLowerInvariant() == "channel_custom")
24-
{
25-
endpointParameterName = "channel.custom";
26-
}
27-
else if (enumValue.ToLowerInvariant() == "uuid_custom")
28-
{
29-
endpointParameterName = "uuid.custom";
30-
}
31-
else if (enumValue.ToLowerInvariant() == "status")
32-
{
33-
endpointParameterName = "status";
34-
}
35-
else if (enumValue.ToLowerInvariant() == "type")
8+
var endpointParameterName = enumValue.ToLowerInvariant() switch
369
{
37-
endpointParameterName = "type";
38-
}
10+
"custom" => "custom",
11+
"uuid" => "uuid",
12+
"channel" => "channel",
13+
"channel_custom" => "channel.custom",
14+
"uuid_custom" => "uuid.custom",
15+
"status" => "status",
16+
"type" => "type",
17+
"channel_status" => "channel.status",
18+
"channel_type" => "channel.type",
19+
"uuid_status" => "uuid.status",
20+
"uuid_type" => "uuid.type",
21+
_ => string.Empty
22+
};
3923

4024
return endpointParameterName;
4125
}

0 commit comments

Comments
 (0)