Skip to content

Commit ae94769

Browse files
author
root
committed
Updated from pipeline, Version : 8.0.0
1 parent bbc4cc6 commit ae94769

40 files changed

+2352
-372
lines changed

.variables

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
export LEVEL=CRITICAL
22
export REPO_NAME=justice-unreal-sdk-plugin
3-
export WORKDIR=/tmp/pipelines/1813989996/415208892/
4-
export COMMIT_HASH=e1304bd01660480fe7dadeebeb2573b36dcb8713
5-
export GIT_HASH=e1304bd01660480fe7dadeebeb2573b36dcb8713
6-
export VERSION=7.2.1
7-
export REVISION_ID=7.2.1
3+
export WORKDIR=/tmp/pipelines/1852049904/423115133/
4+
export COMMIT_HASH=1b5b3d759bd60f2620dcdbe6d9b6d13aa7675a24
5+
export GIT_HASH=1b5b3d759bd60f2620dcdbe6d9b6d13aa7675a24
6+
export VERSION=8.0.0
7+
export REVISION_ID=8.0.0
88
9-
export COMMIT_MESSAGE_BASE64='Y2hvcmUocmVsZWFzZSk6IDcuMi4xIC0gY29tbWl0ZWQgYW5kIHRhZ2dlZCBieSBKZW5raW5zCg=='
9+
export COMMIT_MESSAGE_BASE64='Y2hvcmUocmVsZWFzZSk6IDguMC4wIC0gY29tbWl0ZWQgYW5kIHRhZ2dlZCBieSBKZW5raW5zCg=='

AccelByteUe4Sdk.uplugin

-858 Bytes
Binary file not shown.

CHANGELOG.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,50 @@
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+
## [8.0.0](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/branches/compare/8.0.0%0D7.2.1) (2021-12-06)
6+
7+
8+
### ⚠ BREAKING CHANGES
9+
10+
* **user:** User Blueprint API modified
11+
* **serverDSM)!: Revert "feat(serverDSM:** Revert "feat(serverDSM): add support for DSMC Multi Allocation Server Registration."
12+
13+
### Features
14+
15+
* **friends:** add lobby's friend blueprint API ([566fc46](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/566fc46f2a85c49a2b356b3efbb63ab8ab3d220e))
16+
* **Jwt:** Add Utilities functions to Validate JWT using JWK ([807cc0f](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/807cc0f2c25638551b0b85080234f55e48c0c980))
17+
* **ServerUserApi:** Game Server api to provide DS searchUserOtherPlatform ([ddc0ca3](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/ddc0ca36b9ce407abc3c2bda169aaebcae9372af))
18+
* **SyncIOSandApple:** sync purchased item from mobile platform Apple/Google ([2fb4b47](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/2fb4b474ad880dfb99350936f7fce2fbe1932a25))
19+
* **user:** complete user blueprint API & fix missing UENUM ([fa9709b](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/fa9709b4380b4e3ccc90c84051d2663922947b1f))
20+
21+
22+
### Bug Fixes
23+
24+
* change encoding of uplugin file to UTF-8 without BOM ([5e6075e](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/5e6075e0c202795fffd86587d2b7cde877b6e8aa))
25+
* **httpscheduler:** cancel request will trigger callback ([8736881](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/8736881b8407f3d3d1410faef76a71bff86cc7d1))
26+
* **httpscheduler:** check empty response when request status succeeded ([6e35d35](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/6e35d355c15b95a007fb5bbd0f0ee4f9b20b8fca))
27+
* **httpscheduler:** wrong break placement when getting denied status ([24b4a6f](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/24b4a6f686bcc70367b11280f419ece7c1d4feed))
28+
* **lobby:** fix Uninitialized NewSessionOnly value. ([45dde75](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/45dde75e649ab33ca3f559a36a7f6f0af5a10fe8))
29+
* **lobby:** Handling ws message parsing if an array value have empty string as element ([f0eac5f](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/f0eac5f2383322dbf0969796c5e81dcbdc86e47a))
30+
* **UGC:** fix adjustment for backend behavior changes ([394565c](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/394565c7690544458074b02ad27cb1f094917c94))
31+
32+
33+
### Reverts
34+
35+
* Revert "chore(release): 8.0.0 - commited and tagged by Jenkins" ([55ec3fd](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/55ec3fd01a8dcf424356827727120a98fb9bdb38))
36+
37+
38+
### Tests
39+
40+
* **httpscheduler:** update http retry tests to check cancelled state ([5bba5c1](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/5bba5c1b93fb9bfcd5c500eb69aa5f58b76701b9))
41+
* **lobby:** add wait ds notif to 60 sec ([8650d6b](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/8650d6b568c8e4466dd3b1c32be2e75ecc60b63e))
42+
* **lobby:** LobbyMatchmakingAllParam case cleanup add wait 10 sec for mmNotif to account for transport delay. ([107ffd9](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/107ffd9f87f01c145972073681f6a2d52d75734e))
43+
44+
45+
### Refactors
46+
47+
* **serverDSM)!: Revert "feat(serverDSM:** add support for DSMC Multi Allocation Server Registration." ([d974a97](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/d974a97837a74cb5a567c6181528619a54af9d66))
48+
549
### [7.2.1](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/branches/compare/7.2.1%0D7.2.0) (2021-11-24)
650

751

Content/CompatibilityMap.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@
3232
"maxVersion": "1.9.1"
3333
},
3434
"ugc": {
35-
"minVersion": "1.9.2",
36-
"maxVersion": "1.9.2"
35+
"minVersion": "1.8.0",
36+
"maxVersion": "1.8.0"
3737
},
3838
"lobby": {
3939
"minVersion": "2.5.0",

Source/AccelByteUe4Sdk/AccelByteUe4Sdk.Build.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ public AccelByteUe4Sdk(ReadOnlyTargetRules Target) : base(Target)
4141

4242
PrivateDependencyModuleNames.AddRange(new []
4343
{
44+
"OpenSSL",
4445
"Projects"
4546
});
4647

Source/AccelByteUe4Sdk/Private/Api/AccelByteEntitlementApi.cpp

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -474,5 +474,55 @@ void Entitlement::SyncPlatformPurchase(EAccelBytePlatformSync PlatformType, FVoi
474474
HttpRef.ProcessRequest(Request, CreateHttpResultHandler(OnSuccess, OnError), FPlatformTime::Seconds());
475475
}
476476

477+
void Entitlement::SyncMobilePlatformPurchaseGoogle(FAccelByteModelsPlatformSyncMobileGoogle const& SyncRequest, FVoidHandler const& OnSuccess, FErrorHandler const& OnError)
478+
{
479+
FReport::Log(FString(__FUNCTION__));
480+
481+
FString PlatformText = TEXT("google");
482+
483+
FString Authorization = FString::Printf(TEXT("Bearer %s"), *CredentialsRef.GetAccessToken());
484+
FString Url = FString::Printf(TEXT("%s/public/namespaces/%s/users/%s/iap/%s/receipt"), *SettingsRef.PlatformServerUrl, *CredentialsRef.GetNamespace(), *CredentialsRef.GetUserId(), *PlatformText);
485+
FString Verb = TEXT("PUT");
486+
FString ContentType = TEXT("application/json");
487+
FString Accept = TEXT("application/json");
488+
FString Content = TEXT("");
489+
FJsonObjectConverter::UStructToJsonObjectString(SyncRequest, Content);
490+
491+
FHttpRequestPtr Request = FHttpModule::Get().CreateRequest();
492+
Request->SetURL(Url);
493+
Request->SetHeader(TEXT("Authorization"), Authorization);
494+
Request->SetVerb(Verb);
495+
Request->SetHeader(TEXT("Content-Type"), ContentType);
496+
Request->SetHeader(TEXT("Accept"), Accept);
497+
Request->SetContentAsString(Content);
498+
499+
HttpRef.ProcessRequest(Request, CreateHttpResultHandler(OnSuccess, OnError), FPlatformTime::Seconds());
500+
}
501+
502+
void Entitlement::SyncMobilePlatformPurchaseApple(FAccelByteModelsPlatformSyncMobileApple const& SyncRequest, FVoidHandler const& OnSuccess, FErrorHandler const& OnError)
503+
{
504+
FReport::Log(FString(__FUNCTION__));
505+
506+
FString PlatformText = TEXT("apple");
507+
508+
FString Authorization = FString::Printf(TEXT("Bearer %s"), *CredentialsRef.GetAccessToken());
509+
FString Url = FString::Printf(TEXT("%s/public/namespaces/%s/users/%s/iap/%s/receipt"), *SettingsRef.PlatformServerUrl, *CredentialsRef.GetNamespace(), *CredentialsRef.GetUserId(), *PlatformText);
510+
FString Verb = TEXT("PUT");
511+
FString ContentType = TEXT("application/json");
512+
FString Accept = TEXT("application/json");
513+
FString Content = TEXT("");
514+
FJsonObjectConverter::UStructToJsonObjectString(SyncRequest, Content);
515+
516+
FHttpRequestPtr Request = FHttpModule::Get().CreateRequest();
517+
Request->SetURL(Url);
518+
Request->SetHeader(TEXT("Authorization"), Authorization);
519+
Request->SetVerb(Verb);
520+
Request->SetHeader(TEXT("Content-Type"), ContentType);
521+
Request->SetHeader(TEXT("Accept"), Accept);
522+
Request->SetContentAsString(Content);
523+
524+
HttpRef.ProcessRequest(Request, CreateHttpResultHandler(OnSuccess, OnError), FPlatformTime::Seconds());
525+
}
526+
477527
} // Namespace Api
478528
}

Source/AccelByteUe4Sdk/Private/Api/AccelByteUGCApi.cpp

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,14 @@ void UGC::CreateContent(
3636
FString ContentType = TEXT("application/json");
3737
FString Accept = TEXT("application/json");
3838
FString Content;
39-
FJsonObjectConverter::UStructToJsonObjectString(CreateRequest, Content);
39+
40+
FAccelByteModelsUGCRequest Req = CreateRequest;
41+
if (Req.ContentType.IsEmpty())
42+
{
43+
Req.ContentType = TEXT("application/octet-stream");
44+
}
45+
46+
FJsonObjectConverter::UStructToJsonObjectString(Req, Content);
4047

4148
FHttpRequestPtr Request = FHttpModule::Get().CreateRequest();
4249
Request->SetURL(Url);
@@ -58,7 +65,8 @@ void UGC::CreateContent(
5865
TArray<uint8> const& Preview,
5966
FString const& FileExtension,
6067
THandler<FAccelByteModelsUGCResponse> const& OnSuccess,
61-
FErrorHandler const& OnError)
68+
FErrorHandler const& OnError,
69+
FString ContentType)
6270
{
6371
FReport::Log(FString(__FUNCTION__));
6472

@@ -69,6 +77,7 @@ void UGC::CreateContent(
6977
Req.Tags = Tags;
7078
Req.Preview = FBase64::Encode(Preview);
7179
Req.FileExtension = FileExtension;
80+
Req.ContentType = ContentType;
7281

7382
CreateContent(ChannelId, Req, OnSuccess, OnError);
7483
}
@@ -88,7 +97,14 @@ void UGC::ModifyContent(
8897
FString ContentType = TEXT("application/json");
8998
FString Accept = TEXT("application/json");
9099
FString Content;
91-
FJsonObjectConverter::UStructToJsonObjectString(ModifyRequest, Content);
100+
101+
FAccelByteModelsUGCRequest Req = ModifyRequest;
102+
if (Req.ContentType.IsEmpty())
103+
{
104+
Req.ContentType = TEXT("application/octet-stream");
105+
}
106+
107+
FJsonObjectConverter::UStructToJsonObjectString(Req, Content);
92108

93109
FHttpRequestPtr Request = FHttpModule::Get().CreateRequest();
94110
Request->SetURL(Url);
@@ -111,7 +127,8 @@ void UGC::ModifyContent(
111127
TArray<uint8> const& Preview,
112128
FString const& FileExtension,
113129
THandler<FAccelByteModelsUGCResponse> const& OnSuccess,
114-
FErrorHandler const& OnError)
130+
FErrorHandler const& OnError,
131+
FString ContentType)
115132
{
116133
FReport::Log(FString(__FUNCTION__));
117134

@@ -122,6 +139,7 @@ void UGC::ModifyContent(
122139
Req.Tags = Tags;
123140
Req.Preview = FBase64::Encode(Preview);
124141
Req.FileExtension = FileExtension;
142+
Req.ContentType = ContentType;
125143

126144
ModifyContent(ChannelId, ContentId, Req, OnSuccess, OnError);
127145
}

Source/AccelByteUe4Sdk/Private/Api/AccelByteUserApi.cpp

Lines changed: 7 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include "Core/AccelByteHttpRetryScheduler.h"
1414
#include "Core/AccelByteEnvironment.h"
1515
#include "Api/AccelByteOauth2Api.h"
16+
#include "Core/AccelByteUtilities.h"
1617
#include "Runtime/Core/Public/Misc/Base64.h"
1718

1819
DECLARE_LOG_CATEGORY_EXTERN(LogAccelByteUser, Log, All);
@@ -42,46 +43,6 @@ static FString SearchStrings[] = {
4243
TEXT("username")
4344
};
4445

45-
static FString GetPlatformString(EAccelBytePlatformType PlatformType)
46-
{
47-
switch (PlatformType)
48-
{
49-
case EAccelBytePlatformType::Steam:
50-
return "steam";
51-
case EAccelBytePlatformType::PS4:
52-
return "ps4";
53-
case EAccelBytePlatformType::PS4CrossGen:
54-
case EAccelBytePlatformType::PS5:
55-
return "ps5";
56-
case EAccelBytePlatformType::Live:
57-
return "live";
58-
case EAccelBytePlatformType::Google:
59-
return "google";
60-
case EAccelBytePlatformType::Facebook:
61-
return "facebook";
62-
case EAccelBytePlatformType::Android:
63-
return "android";
64-
case EAccelBytePlatformType::iOS:
65-
return "ios";
66-
case EAccelBytePlatformType::Device:
67-
return "device";
68-
case EAccelBytePlatformType::Twitch:
69-
return "twitch";
70-
case EAccelBytePlatformType::Oculus:
71-
return "oculus";
72-
case EAccelBytePlatformType::Twitter:
73-
return "twitter";
74-
case EAccelBytePlatformType::EpicGames:
75-
return "epicgames";
76-
case EAccelBytePlatformType::Stadia:
77-
return "stadia";
78-
case EAccelBytePlatformType::AwsCognito:
79-
return "awscognito";
80-
default:
81-
return "unknown";
82-
}
83-
}
84-
8546
void User::LoginWithOtherPlatform(EAccelBytePlatformType PlatformType, const FString& PlatformToken, const FVoidHandler& OnSuccess, const FErrorHandler& OnError)
8647
{
8748
FReport::Log(FString(__FUNCTION__));
@@ -90,7 +51,7 @@ void User::LoginWithOtherPlatform(EAccelBytePlatformType PlatformType, const FSt
9051
{
9152
CredentialsRef.ForgetAll();
9253
}
93-
Oauth2::GetTokenWithOtherPlatformToken(SettingsRef.ClientId, SettingsRef.ClientSecret, GetPlatformString(PlatformType), PlatformToken, THandler<FOauth2Token>::CreateLambda([this, PlatformType, OnSuccess, OnError](const FOauth2Token& Result)
54+
Oauth2::GetTokenWithOtherPlatformToken(SettingsRef.ClientId, SettingsRef.ClientSecret, FAccelByteUtilities::GetPlatformString(PlatformType), PlatformToken, THandler<FOauth2Token>::CreateLambda([this, PlatformType, OnSuccess, OnError](const FOauth2Token& Result)
9455
{
9556
CredentialsRef.SetAuthToken(Result, FPlatformTime::Seconds());
9657
OnSuccess.ExecuteIfBound();
@@ -374,7 +335,7 @@ void User::BulkGetUserByOtherPlatformUserIds(EAccelBytePlatformType PlatformType
374335
{
375336
FReport::Log(FString(__FUNCTION__));
376337

377-
const FString PlatformString = GetPlatformString(PlatformType);
338+
const FString PlatformString = FAccelByteUtilities::GetPlatformString(PlatformType);
378339
const FBulkPlatformUserIdRequest UserIdRequests{ OtherPlatformUserId };
379340

380341
FString Authorization = FString::Printf(TEXT("Bearer %s"), *CredentialsRef.GetAccessToken());
@@ -635,7 +596,7 @@ void User::LinkOtherPlatform(EAccelBytePlatformType PlatformType, const FString&
635596
{
636597
FReport::Log(FString(__FUNCTION__));
637598

638-
auto PlatformId = GetPlatformString(PlatformType);
599+
auto PlatformId = FAccelByteUtilities::GetPlatformString(PlatformType);
639600

640601
FString Authorization = FString::Printf(TEXT("Bearer %s"), *CredentialsRef.GetAccessToken());
641602
FString Url = FString::Printf(TEXT("%s/v3/public/namespaces/%s/users/me/platforms/%s"), *SettingsRef.IamServerUrl, *CredentialsRef.GetNamespace(), *PlatformId);
@@ -659,7 +620,7 @@ void User::ForcedLinkOtherPlatform(EAccelBytePlatformType PlatformType, const FS
659620
{
660621
FReport::Log(FString(__FUNCTION__));
661622

662-
auto PlatformId = GetPlatformString(PlatformType);
623+
auto PlatformId = FAccelByteUtilities::GetPlatformString(PlatformType);
663624

664625
FLinkPlatformAccountRequest linkRequest;
665626
linkRequest.PlatformId = PlatformId;
@@ -688,7 +649,7 @@ void User::UnlinkOtherPlatform(EAccelBytePlatformType PlatformType, const FVoidH
688649
{
689650
FReport::Log(FString(__FUNCTION__));
690651

691-
auto PlatformId = GetPlatformString(PlatformType);
652+
auto PlatformId = FAccelByteUtilities::GetPlatformString(PlatformType);
692653

693654
FString Authorization = FString::Printf(TEXT("Bearer %s"), *CredentialsRef.GetAccessToken());
694655
FString Url = FString::Printf(TEXT("%s/v3/public/namespaces/%s/users/me/platforms/%s"), *SettingsRef.IamServerUrl, *CredentialsRef.GetNamespace(), *PlatformId);
@@ -792,7 +753,7 @@ void User::GetUserByUserId(const FString& UserID, const THandler<FSimpleUserData
792753
void User::GetUserByOtherPlatformUserId(EAccelBytePlatformType PlatformType, const FString& OtherPlatformUserId, const THandler<FAccountUserData>& OnSuccess, const FErrorHandler& OnError)
793754
{
794755
FReport::Log(FString(__FUNCTION__));
795-
FString PlatformId = GetPlatformString(PlatformType);
756+
FString PlatformId = FAccelByteUtilities::GetPlatformString(PlatformType);
796757

797758
FString Authorization = FString::Printf(TEXT("Bearer %s"), *CredentialsRef.GetAccessToken());
798759
FString Url = FString::Printf(TEXT("%s/v3/public/namespaces/%s/platforms/%s/users/%s"), *SettingsRef.IamServerUrl, *SettingsRef.Namespace, *PlatformId, *OtherPlatformUserId);

0 commit comments

Comments
 (0)