Skip to content

Commit 76eef13

Browse files
Updated from pipeline, Version : 24.0.0
1 parent 5f2a2e5 commit 76eef13

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+1158
-392
lines changed

.variables

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1+
export DO_UPDATE=true
12
export LEVEL=CRITICAL
23
export REPO_NAME=justice-unreal-sdk-plugin
3-
export WORKDIR=/tmp/pipelines/4929285471/977103276/
4-
export COMMIT_HASH=6ca4110b6ef366669dafe25773433a5100efe92e
5-
export GIT_HASH=6ca4110b6ef366669dafe25773433a5100efe92e
6-
export VERSION=23.7.1
7-
export REVISION_ID=23.7.1
4+
export WORKDIR=/tmp/pipelines/4962752212/983538435/
5+
export COMMIT_HASH=a1b6baa48a1f75bf96e0972d888d0eaad55a7e98
6+
export GIT_HASH=a1b6baa48a1f75bf96e0972d888d0eaad55a7e98
7+
export VERSION=24.0.0
8+
export REVISION_ID=24.0.0
89
9-
export COMMIT_MESSAGE_BASE64='Y2hvcmUocmVsZWFzZSk6IDIzLjcuMSAtIGNvbW1pdGVkIGFuZCB0YWdnZWQgYnkgSmVua2lucwo='
10+
export COMMIT_MESSAGE_BASE64='Y2hvcmUocmVsZWFzZSk6IDI0LjAuMCAtIGNvbW1pdGVkIGFuZCB0YWdnZWQgYnkgSmVua2lucwo='

AccelByteUe4Sdk.uplugin

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"FileVersion": 3,
3-
"Version": 39,
4-
"VersionName": "23.7.1",
3+
"Version": 40,
4+
"VersionName": "24.0.0",
55
"FriendlyName": "AccelByte Unreal Engine SDK",
66
"Description": "Official AccelByte SDK for Unreal Engine 4",
77
"Category": "Online Platform",

CHANGELOG.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,41 @@
22

33
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
44

5+
## [24.0.0](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/branches/compare/24.0.0%0D23.7.1) (2023-08-28)
6+
7+
8+
### ⚠ BREAKING CHANGES
9+
10+
* parsing behavior has been improved and handle quotation mark + backslash
11+
12+
### Features
13+
14+
* add lobby error code for max friend limit reached ([b4b25c8](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/b4b25c890a3456b334853dbaba113dd2316572c1))
15+
* check user id validity before calling API ([5405de2](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/5405de22018f65f33ceeb9903bce71a7c7bcee91))
16+
* Expose Fulfill Rewards ([ff1316e](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/ff1316e6dfdc9e4061d7c7171b884903198363e6))
17+
* exposing missing psn sync entitlement multiple service ([a045dbc](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/a045dbcfd52727049d7c1875efcaba4b9b2bac09))
18+
* **lobby:** send platform name to lobby when connecting ([e1e5546](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/e1e5546166c99af1f4b6618521cd4483d599d69d))
19+
* **MMv1:** add Region in MMv1 matchmaking notice ([df7a1a3](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/df7a1a3b89b038aff9ab59b85b461c6f62c366ba))
20+
* SetUserPresenceStatus support JSON ([d542a29](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/d542a29a77288253784e4eb86fe25ca7674d4e5c))
21+
* **telemetry:** add clientTimestamp ([8f25c0e](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/8f25c0e277cc9a993f3a49dbdd793f3b78097e57))
22+
* **UGC:** add a new sort by value and devide liked content endpoint ([583e0a7](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/583e0a73b531f225c8fc3018e2c2862aacb2f449))
23+
24+
25+
### Bug Fixes
26+
27+
* change I64d to lli ([352be36](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/352be3699952b96fe065e51a10279afd6bc627b6))
28+
* **Leaderboard:** Sync the leftover variables for get user rank endpoint ([fef82d0](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/fef82d0884bdc428c4b3b552c1fe1fb10f32a99d))
29+
* lobby not triggering ConnectionClosed after user disconnected because of login ban. ([2c78a05](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/2c78a0555c09ba76c7e253a942e579c0224b17fe))
30+
* Prebuild script failed when path contain spaces ([b9988d1](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/b9988d13ae04026f8d604e7064b6bfd0858ff295))
31+
* remove 'using namespace' in public header ([0ad5094](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/0ad50942d3d24163b248e67e43e3b32057e519a6))
32+
* **Statistic:** Adjust newest flow to expose which statistic is being updated ([3867dde](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/3867dde44f29434a784e9b56cb2dbf294cbdb73e))
33+
* **switch:** unable to read/write cache file ([1feee5e](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/1feee5efb62e594c37048c20e8517a3db4ac13c0))
34+
35+
36+
### Refactors
37+
38+
* move IsValidUrl to AccelByte Net Utilities ([f91f18e](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/f91f18e8049e55d8b36eab2013eb6e18d284b067))
39+
540
### [23.7.1](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/branches/compare/23.7.1%0D23.7.0) (2023-08-23)
641

742

Content/CompatibilityMap.json

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,35 @@
11
{
22
"iam": {
3-
"minVersion": "7.0.0",
4-
"maxVersion": "7.0.0"
3+
"minVersion": "7.1.0",
4+
"maxVersion": "7.1.0"
55
},
66
"agreement": {
7-
"minVersion": "1.31.2",
8-
"maxVersion": "1.31.2"
7+
"minVersion": "1.32.0",
8+
"maxVersion": "1.32.0"
99
},
1010
"basic": {
11-
"minVersion": "2.10.1",
12-
"maxVersion": "2.10.1"
11+
"minVersion": "2.11.0",
12+
"maxVersion": "2.11.0"
1313
},
1414
"platform": {
15-
"minVersion": "4.33.0",
16-
"maxVersion": "4.33.0"
15+
"minVersion": "4.34.0",
16+
"maxVersion": "4.34.0"
1717
},
1818
"social": {
19-
"minVersion": "2.9.3",
20-
"maxVersion": "2.9.3"
19+
"minVersion": "2.9.4",
20+
"maxVersion": "2.9.4"
2121
},
2222
"leaderboard": {
23-
"minVersion": "2.26.1",
24-
"maxVersion": "2.26.1"
23+
"minVersion": "2.26.2",
24+
"maxVersion": "2.26.2"
2525
},
2626
"achievement": {
2727
"minVersion": "2.21.0",
2828
"maxVersion": "2.21.0"
2929
},
3030
"cloudsave": {
31-
"minVersion": "3.11.0",
32-
"maxVersion": "3.11.0"
31+
"minVersion": "3.12.0",
32+
"maxVersion": "3.12.0"
3333
},
3434
"ugc": {
3535
"minVersion": "2.12.0",

Source/AccelByteUe4Sdk/Private/Api/AccelByteAchievementApi.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,12 @@ void Achievement::QueryUserAchievements(const EAccelByteAchievementListSortBy& S
183183
{
184184
FReport::Log(FString(__FUNCTION__));
185185

186+
if (!FAccelByteUtilities::IsAccelByteIDValid(*UserId))
187+
{
188+
OnError.ExecuteIfBound(static_cast<int32>(ErrorCodes::InvalidRequest), TEXT("Invalid request, User Id format is invalid"));
189+
return;
190+
}
191+
186192
const FString Url = FString::Printf(TEXT("%s/v1/public/namespaces/%s/users/%s/achievements")
187193
, *SettingsRef.AchievementServerUrl
188194
, *CredentialsRef.GetNamespace()

Source/AccelByteUe4Sdk/Private/Api/AccelByteChatApi.cpp

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1287,6 +1287,12 @@ namespace AccelByte
12871287
{
12881288
FReport::Log(FString(__FUNCTION__));
12891289

1290+
if (!FAccelByteUtilities::IsAccelByteIDValid(*UserId))
1291+
{
1292+
OnError.ExecuteIfBound(static_cast<int32>(ErrorCodes::InvalidRequest), TEXT("Invalid request, User Id format is invalid"));
1293+
return;
1294+
}
1295+
12901296
const FString Url = FString::Printf(TEXT("%s/public/namespaces/{namespace}/topic/%s/mute"),
12911297
*SettingsRef.ChatServerUrl, *GenerateGroupTopicId(GroupId));
12921298

@@ -1300,6 +1306,12 @@ namespace AccelByte
13001306
{
13011307
FReport::Log(FString(__FUNCTION__));
13021308

1309+
if (!FAccelByteUtilities::IsAccelByteIDValid(*UserId))
1310+
{
1311+
OnError.ExecuteIfBound(static_cast<int32>(ErrorCodes::InvalidRequest), TEXT("Invalid request, User Id format is invalid"));
1312+
return;
1313+
}
1314+
13031315
const FString Url = FString::Printf(TEXT("%s/public/namespaces/{namespace}/topic/%s/unmute"),
13041316
*SettingsRef.ChatServerUrl, *GenerateGroupTopicId(GroupId));
13051317

@@ -1324,10 +1336,22 @@ namespace AccelByte
13241336
{
13251337
FReport::Log(FString(__FUNCTION__));
13261338

1339+
TArray<FString> FilteredIds = UserIds;
1340+
FilteredIds.RemoveAll([](const FString& Element)
1341+
{
1342+
return !FAccelByteUtilities::IsAccelByteIDValid(Element);
1343+
});
1344+
1345+
if (FilteredIds.Num() <= 0)
1346+
{
1347+
OnError.ExecuteIfBound(static_cast<int32>(ErrorCodes::InvalidRequest), TEXT("Invalid request, User Id format is invalid"));
1348+
return;
1349+
}
1350+
13271351
const FString Url = FString::Printf(TEXT("%s/public/namespaces/{namespace}/topic/%s/ban-members"),
13281352
*SettingsRef.ChatServerUrl, *GenerateGroupTopicId(GroupId));
13291353

1330-
const FAccelByteModelsBanGroupChatRequest Request {UserIds};
1354+
const FAccelByteModelsBanGroupChatRequest Request {FilteredIds};
13311355

13321356
HttpClient.ApiRequest(TEXT("POST"), Url, {}, Request, OnSuccess, OnError);
13331357
}

Source/AccelByteUe4Sdk/Private/Api/AccelByteCloudSaveApi.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,12 @@ void CloudSave::GetPublicUserRecord(FString const& Key
8888
{
8989
FReport::Log(FString(__FUNCTION__));
9090

91+
if (!FAccelByteUtilities::IsAccelByteIDValid(*UserId))
92+
{
93+
OnError.ExecuteIfBound(static_cast<int32>(ErrorCodes::InvalidRequest), TEXT("Get Public User Record failed, UserId format is invalid"));
94+
return;
95+
}
96+
9197
const FString Url = FString::Printf(TEXT("%s/v1/namespaces/%s/users/%s/records/%s/public")
9298
, *SettingsRef.CloudSaveServerUrl
9399
, *CredentialsRef.GetNamespace()
@@ -626,6 +632,12 @@ void CloudSave::BulkGetOtherPlayerPublicRecordKeys(FString const& UserId
626632
return;
627633
}
628634

635+
if (!FAccelByteUtilities::IsAccelByteIDValid(*UserId))
636+
{
637+
OnError.ExecuteIfBound(static_cast<int32>(ErrorCodes::InvalidRequest), TEXT("Bulk Get Other Player Public Record Keys Failed, UserId format is invalid"));
638+
return;
639+
}
640+
629641
const FString Url = FString::Printf(TEXT("%s/v1/namespaces/%s/users/%s/records/public")
630642
, *SettingsRef.CloudSaveServerUrl
631643
, *CredentialsRef.GetNamespace()
@@ -680,6 +692,12 @@ void CloudSave::BulkGetOtherPlayerPublicRecords(FString const& UserId
680692
return;
681693
}
682694

695+
if (!FAccelByteUtilities::IsAccelByteIDValid(*UserId))
696+
{
697+
OnError.ExecuteIfBound(static_cast<int32>(ErrorCodes::InvalidRequest), TEXT("Bulk Get Other Player Public Records Failed, UserId format is invalid"));
698+
return;
699+
}
700+
683701
if (Keys.Num() <= 0)
684702
{
685703
OnSuccess.ExecuteIfBound(FListAccelByteModelsUserRecord{});

Source/AccelByteUe4Sdk/Private/Api/AccelByteEntitlementApi.cpp

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -864,6 +864,46 @@ void Entitlement::SyncOculusDLC(FVoidHandler const& OnSuccess
864864
, *CredentialsRef.GetUserId());
865865
HttpClient.ApiRequest(TEXT("PUT"), Url, {}, OnSuccess, OnError);
866866
}
867+
868+
void Entitlement::SyncDLCPSNMultipleService(FAccelByteModelsMultipleServicePSNDLCSync const& PlaystationModel
869+
, FVoidHandler const& OnSuccess
870+
, FErrorHandler const& OnError)
871+
{
872+
FReport::Log(FString(__FUNCTION__));
873+
874+
FString Content = TEXT("");
875+
const FString Url = FString::Printf(TEXT("%s/public/namespaces/%s/users/%s/dlc/psn/sync/multiServiceLabels")
876+
, *SettingsRef.PlatformServerUrl
877+
, *CredentialsRef.GetNamespace()
878+
, *CredentialsRef.GetUserId());
879+
880+
const TSharedPtr<FJsonObject> Json = FJsonObjectConverter::UStructToJsonObject(PlaystationModel);
881+
FAccelByteUtilities::RemoveEmptyStrings(Json);
882+
TSharedRef<TJsonWriter<>> const Writer = TJsonWriterFactory<>::Create(&Content);
883+
FJsonSerializer::Serialize(Json.ToSharedRef(), Writer);
884+
885+
HttpClient.ApiRequest(TEXT("PUT"), Url, {}, Content, OnSuccess, OnError);
886+
}
887+
888+
void Entitlement::SyncEntitlementPSNMultipleService(const FAccelByteModelsMultipleServicePSNIAPSync& PlaystationModel
889+
, THandler<TArray<FAccelByteModelsMultipleServicePlayStationInfo>> const& OnSuccess
890+
, FErrorHandler const& OnError)
891+
{
892+
FReport::Log(FString(__FUNCTION__));
893+
894+
FString Content = TEXT("");
895+
const FString Url = FString::Printf(TEXT("%s/public/namespaces/%s/users/%s/iap/psn/sync/multiServiceLabels")
896+
, *SettingsRef.PlatformServerUrl
897+
, *CredentialsRef.GetNamespace()
898+
, *CredentialsRef.GetUserId());
899+
900+
const TSharedPtr<FJsonObject> Json = FJsonObjectConverter::UStructToJsonObject(PlaystationModel);
901+
FAccelByteUtilities::RemoveEmptyStrings(Json);
902+
TSharedRef<TJsonWriter<>> const Writer = TJsonWriterFactory<>::Create(&Content);
903+
FJsonSerializer::Serialize(Json.ToSharedRef(), Writer);
904+
905+
HttpClient.ApiRequest(TEXT("PUT"), Url, {}, Content, OnSuccess, OnError);
906+
}
867907

868908
} // Namespace Api
869909
}

Source/AccelByteUe4Sdk/Private/Api/AccelByteGroupApi.cpp

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,12 @@ void Group::GetUserGroupInfoByUserId(const FString& UserId
204204
{
205205
FReport::Log(FString(__FUNCTION__));
206206

207+
if (!FAccelByteUtilities::IsAccelByteIDValid(*UserId))
208+
{
209+
OnError.ExecuteIfBound(static_cast<int32>(ErrorCodes::InvalidRequest), TEXT("Invalid request, User Id format is invalid"));
210+
return;
211+
}
212+
207213
const FString Url = FString::Printf(TEXT("%s/v1/public/namespaces/{namespace}/users/%s")
208214
, *SettingsRef.GroupServerUrl
209215
, *UserId);
@@ -217,6 +223,12 @@ void Group::InviteUserToGroup(const FString UserId
217223
{
218224
FReport::Log(FString(__FUNCTION__));
219225

226+
if (!FAccelByteUtilities::IsAccelByteIDValid(*UserId))
227+
{
228+
OnError.ExecuteIfBound(static_cast<int32>(ErrorCodes::InvalidRequest), TEXT("Invalid request, User Id format is invalid"));
229+
return;
230+
}
231+
220232
const FString Url = FString::Printf(TEXT("%s/v1/public/namespaces/{namespace}/users/%s/invite")
221233
, *SettingsRef.GroupServerUrl
222234
, *UserId);
@@ -230,6 +242,12 @@ void Group::AcceptGroupJoinRequest(const FString UserId
230242
{
231243
FReport::Log(FString(__FUNCTION__));
232244

245+
if (!FAccelByteUtilities::IsAccelByteIDValid(*UserId))
246+
{
247+
OnError.ExecuteIfBound(static_cast<int32>(ErrorCodes::InvalidRequest), TEXT("Invalid request, User Id format is invalid"));
248+
return;
249+
}
250+
233251
const FString Url = FString::Printf(TEXT("%s/v1/public/namespaces/{namespace}/users/%s/join/accept")
234252
, *SettingsRef.GroupServerUrl
235253
, *UserId);
@@ -243,6 +261,12 @@ void Group::RejectGroupJoinRequest(const FString UserId
243261
{
244262
FReport::Log(FString(__FUNCTION__));
245263

264+
if (!FAccelByteUtilities::IsAccelByteIDValid(*UserId))
265+
{
266+
OnError.ExecuteIfBound(static_cast<int32>(ErrorCodes::InvalidRequest), TEXT("Invalid request, User Id format is invalid"));
267+
return;
268+
}
269+
246270
const FString Url = FString::Printf(TEXT("%s/v1/public/namespaces/{namespace}/users/%s/join/reject")
247271
, *SettingsRef.GroupServerUrl
248272
, *UserId);
@@ -256,6 +280,12 @@ void Group::KickGroupMember(const FString UserId
256280
{
257281
FReport::Log(FString(__FUNCTION__));
258282

283+
if (!FAccelByteUtilities::IsAccelByteIDValid(*UserId))
284+
{
285+
OnError.ExecuteIfBound(static_cast<int32>(ErrorCodes::InvalidRequest), TEXT("Invalid request, User Id format is invalid"));
286+
return;
287+
288+
}
259289
const FString Url = FString::Printf(TEXT("%s/v1/public/namespaces/{namespace}/users/%s/kick")
260290
, *SettingsRef.GroupServerUrl
261291
, *UserId);

Source/AccelByteUe4Sdk/Private/Api/AccelByteLeaderboardApi.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,12 @@ void Leaderboard::GetUserRanking(FString const& UserId
8686
{
8787
FReport::Log(FString(__FUNCTION__));
8888

89+
if (!FAccelByteUtilities::IsAccelByteIDValid(*UserId))
90+
{
91+
OnError.ExecuteIfBound(static_cast<int32>(ErrorCodes::InvalidRequest), TEXT("Invalid request, User Id format is invalid"));
92+
return;
93+
}
94+
8995
const FString Url = FString::Printf(TEXT("%s/v1/public/namespaces/%s/leaderboards/%s/users/%s")
9096
, *SettingsRef.LeaderboardServerUrl
9197
, *CredentialsRef.GetNamespace()
@@ -179,6 +185,12 @@ void Leaderboard::GetUserRankingV3(FString const& UserId
179185
{
180186
FReport::Log(FString(__FUNCTION__));
181187

188+
if (!FAccelByteUtilities::IsAccelByteIDValid(*UserId))
189+
{
190+
OnError.ExecuteIfBound(static_cast<int32>(ErrorCodes::InvalidRequest), TEXT("Invalid request, User Id format is invalid"));
191+
return;
192+
}
193+
182194
const FString Url = FString::Printf(TEXT("%s/v3/public/namespaces/%s/leaderboards/%s/users/%s")
183195
, *SettingsRef.LeaderboardServerUrl
184196
, *CredentialsRef.GetNamespace()

0 commit comments

Comments
 (0)