Skip to content

Commit 21adeb7

Browse files
Updated from pipeline, Version : 8.1.0
1 parent 083348c commit 21adeb7

23 files changed

+1201
-20
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/1870375083/426670309/
4-
export COMMIT_HASH=36c3c0694012ddc1aa98b03aea9b935d5bfdc3d3
5-
export GIT_HASH=36c3c0694012ddc1aa98b03aea9b935d5bfdc3d3
6-
export VERSION=8.0.1
7-
export REVISION_ID=8.0.1
4+
export WORKDIR=/tmp/pipelines/1901439484/432874549/
5+
export COMMIT_HASH=889ef75a8c2c9fcc128217d423a738a80356c1a8
6+
export GIT_HASH=889ef75a8c2c9fcc128217d423a738a80356c1a8
7+
export VERSION=8.1.0
8+
export REVISION_ID=8.1.0
89
9-
export COMMIT_MESSAGE_BASE64='Y2hvcmUocmVsZWFzZSk6IDguMC4xIC0gY29tbWl0ZWQgYW5kIHRhZ2dlZCBieSBKZW5raW5zCg=='
10+
export COMMIT_MESSAGE_BASE64='Y2hvcmUocmVsZWFzZSk6IDguMS4wIC0gY29tbWl0ZWQgYW5kIHRhZ2dlZCBieSBKZW5raW5zCg=='

CHANGELOG.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,31 @@
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.1.0](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/branches/compare/8.1.0%0D8.0.1) (2021-12-20)
6+
7+
8+
### Features
9+
10+
* **blueprint:** catalog, order, entitlement, currency, & wallet blueprint API ([2a772b7](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/2a772b78ade5449a84505075e11029452bb655f9))
11+
* **shadowban:** Add Delegate Handler for task refresh function and delete it to prevent memory leak ([3e829e2](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/3e829e2f3c6555518aba6961e183de12830a5fdc))
12+
* **shadowban:** Add Trim and Ignore case on Authorization check, to make sure catch various Bearer typing possibilities. ([fcb942e](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/fcb942e9dd292b33e5148531bff1336350ae2643))
13+
* **shadowban:** exclude shadowban trigger from server build ([78eb173](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/78eb1730e3194d4319a7aa4a499270cd3392569e))
14+
* **shadowban:** Fix Linux error compile, constructor has wrong order variable definition ([8319fdd](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/8319fdd7b6835d075e9becd30344b49d8cdb6c90))
15+
* **shadowban:** switch order of bearer token refresh handle definition, make sure its assigned before refresh token triggered ([e5894de](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/e5894dec66166d2404ee6f80e9dab59b09b53cef))
16+
17+
18+
### Bug Fixes
19+
20+
* **lobby:** add missing field to several models, allow lobby MessageNotification handle incoming JSON object (curly bracket) ([42c74d6](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/42c74d6603ae4eb4063688769dcf54ceef778aee))
21+
* Merge back UTF-8 BOM removal and UGC UploadTo ([4800b58](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/4800b58e74cf06be7687d52a6705f74221a20ff1))
22+
* Merge tag 8.0.0 for clean cutoff release ([26b8417](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/26b8417d4f1d9842228a47a800218cf8eacf8c30))
23+
24+
25+
### Tests
26+
27+
* **lobby:** fix InviteRejected test case not setting leave party delegate ([e0dde98](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/e0dde98bb16fecdc9f78f1a5aa28c2f0068272bc))
28+
* **serverlobby:** make sure lobby connected before requesting leave party, add more wait time for writing party storage concurrently ([04b9110](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/04b9110e8638be8fc3cd8caf77bdd8dc82d2c736))
29+
530
### [8.0.1](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/branches/compare/8.0.1%0D8.0.0) (2021-12-10)
631

732

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# AccelByte Unreal SDK
22

3-
AccelByte Unreal SDK is a plugin for Unreal Engine.
3+
AccelByte Unreal SDK is a plugin for Unreal Engine.
44

55
## Assumptions
66

Source/AccelByteUe4Sdk/Private/Api/AccelByteLobbyApi.cpp

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1759,7 +1759,45 @@ void Lobby::HandleMessageNotif(const FString& ReceivedMessageType, const FString
17591759
// Presence
17601760
CASE_NOTIF(FriendStatusNotif , FAccelByteModelsUsersPresenceNotice);
17611761
// Notification
1762-
CASE_NOTIF(MessageNotif , FAccelByteModelsNotificationMessage);
1762+
case(Notif::MessageNotif):
1763+
{
1764+
FAccelByteModelsNotificationMessage NotificationMessage;
1765+
FString PayloadKey = "payload";
1766+
if (ParsedJsonObj->HasTypedField<EJson::Object>(PayloadKey))
1767+
{
1768+
TSharedPtr<FJsonObject> PayloadObject = ParsedJsonObj->GetObjectField(PayloadKey);
1769+
if (PayloadObject == nullptr)
1770+
{
1771+
UE_LOG(LogAccelByteLobby, Log, TEXT("Cannot deserialize the whole MessageNotif to the struct\nNotification: %s"), *ParsedJsonString);
1772+
return;
1773+
}
1774+
1775+
FString PayloadString;
1776+
TSharedRef<TJsonWriter<>> JsonWriter = TJsonWriterFactory<>::Create(&PayloadString);
1777+
if (FJsonSerializer::Serialize(PayloadObject.ToSharedRef(), JsonWriter) == false)
1778+
{
1779+
UE_LOG(LogAccelByteLobby, Log, TEXT("Cannot serialize payload field from MessageNotif\nNotification: %s"), *ParsedJsonString);
1780+
return;
1781+
}
1782+
ParsedJsonObj->RemoveField(PayloadKey);
1783+
ParsedJsonObj->SetStringField(PayloadKey, PayloadString);
1784+
if (FJsonObjectConverter::JsonObjectToUStruct(ParsedJsonObj.ToSharedRef(), &NotificationMessage, 0, 0) == false)
1785+
{
1786+
UE_LOG(LogAccelByteLobby, Log, TEXT("Cannot deserialize the whole MessageNotif to the struct\nNotification: %s"), *ParsedJsonString);
1787+
return;
1788+
}
1789+
}
1790+
else
1791+
{
1792+
if (FJsonObjectConverter::JsonObjectStringToUStruct(ParsedJsonString, &NotificationMessage, 0, 0) == false)
1793+
{
1794+
UE_LOG(LogAccelByteLobby, Log, TEXT("Cannot deserialize the whole MessageNotif to the struct\nNotification: %s"), *ParsedJsonString);
1795+
return;
1796+
}
1797+
}
1798+
MessageNotif.ExecuteIfBound(NotificationMessage);
1799+
break;
1800+
}
17631801
// Matchmaking
17641802
CASE_NOTIF(MatchmakingNotif , FAccelByteModelsMatchmakingNotice);
17651803
CASE_NOTIF(ReadyConsentNotif , FAccelByteModelsReadyConsentNotice);
Lines changed: 197 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,197 @@
1+
// Copyright (c) 2021 AccelByte Inc. All Rights Reserved.
2+
// This is licensed software from AccelByte Inc, for limitations
3+
// and restrictions contact your company contract manager.
4+
5+
#include "Blueprints/ABCatalog.h"
6+
#include "Api/AccelByteItemApi.h"
7+
#include "Api/AccelByteCategoryApi.h"
8+
#include "Core/AccelByteRegistry.h"
9+
10+
void UABCatalog::SetApiClient(FApiClientPtr const& NewApiClientPtr)
11+
{
12+
ApiClientPtr = NewApiClientPtr;
13+
}
14+
15+
void UABCatalog::GetRootCategories(
16+
FString const& Language,
17+
FDArrayModelsCategoryInfoResponse OnSuccess,
18+
FDErrorHandler OnError) const
19+
{
20+
ApiClientPtr->Category.GetRootCategories(
21+
Language,
22+
THandler<TArray<FAccelByteModelsCategoryInfo>>::CreateLambda(
23+
[OnSuccess](TArray<FAccelByteModelsCategoryInfo> const& Response)
24+
{
25+
FArrayModelsCategoryInfoResponse Result;
26+
Result.Content = Response;
27+
OnSuccess.ExecuteIfBound(Result);
28+
}),
29+
FErrorHandler::CreateLambda(
30+
[OnError](int Code, FString const& Message)
31+
{
32+
OnError.ExecuteIfBound(Code, Message);
33+
}));
34+
}
35+
36+
void UABCatalog::GetCategory(
37+
FString const& CategoryPath,
38+
FString const& Language,
39+
FDModelsCategoryInfoResponse OnSuccess,
40+
FDErrorHandler OnError) const
41+
{
42+
ApiClientPtr->Category.GetCategory(
43+
CategoryPath,
44+
Language,
45+
THandler<FAccelByteModelsCategoryInfo>::CreateLambda(
46+
[OnSuccess](FAccelByteModelsCategoryInfo const& Response)
47+
{
48+
OnSuccess.ExecuteIfBound(Response);
49+
}),
50+
FErrorHandler::CreateLambda(
51+
[OnError](int Code, FString const& Message)
52+
{
53+
OnError.ExecuteIfBound(Code, Message);
54+
}));
55+
}
56+
57+
void UABCatalog::GetChildCategories(
58+
FString const& CategoryPath,
59+
FString const& Language,
60+
FDArrayModelsCategoryInfoResponse OnSuccess,
61+
FDErrorHandler OnError) const
62+
{
63+
ApiClientPtr->Category.GetChildCategories(
64+
Language,
65+
CategoryPath,
66+
THandler<TArray<FAccelByteModelsCategoryInfo>>::CreateLambda(
67+
[OnSuccess](TArray<FAccelByteModelsCategoryInfo> const& Response)
68+
{
69+
FArrayModelsCategoryInfoResponse Result;
70+
Result.Content = Response;
71+
OnSuccess.ExecuteIfBound(Result);
72+
}),
73+
FErrorHandler::CreateLambda(
74+
[OnError](int Code, FString const& Message)
75+
{
76+
OnError.ExecuteIfBound(Code, Message);
77+
}));
78+
}
79+
80+
void UABCatalog::GetDescendantCategories(
81+
FString const& CategoryPath,
82+
FString const& Language,
83+
FDArrayModelsCategoryInfoResponse OnSuccess,
84+
FDErrorHandler OnError) const
85+
{
86+
ApiClientPtr->Category.GetDescendantCategories(
87+
Language,
88+
CategoryPath,
89+
THandler<TArray<FAccelByteModelsCategoryInfo>>::CreateLambda(
90+
[OnSuccess](TArray<FAccelByteModelsCategoryInfo> const& Response)
91+
{
92+
FArrayModelsCategoryInfoResponse Result;
93+
Result.Content = Response;
94+
OnSuccess.ExecuteIfBound(Result);
95+
}),
96+
FErrorHandler::CreateLambda(
97+
[OnError](int Code, FString const& Message)
98+
{
99+
OnError.ExecuteIfBound(Code, Message);
100+
}));
101+
}
102+
103+
void UABCatalog::GetItemById(
104+
FString const& ItemId,
105+
FString const& Language,
106+
FString const& Region,
107+
FDModelsPopulatedItemInfoResponse OnSuccess,
108+
FDErrorHandler OnError) const
109+
{
110+
ApiClientPtr->Item.GetItemById(
111+
ItemId,
112+
Language,
113+
Region,
114+
THandler<FAccelByteModelsPopulatedItemInfo>::CreateLambda(
115+
[OnSuccess](FAccelByteModelsPopulatedItemInfo const& Response)
116+
{
117+
OnSuccess.ExecuteIfBound(Response);
118+
}),
119+
FErrorHandler::CreateLambda(
120+
[OnError](int Code, FString const& Message)
121+
{
122+
OnError.ExecuteIfBound(Code, Message);
123+
}));
124+
}
125+
126+
void UABCatalog::GetItemByAppId(
127+
FString const& AppId,
128+
FString const& Language,
129+
FString const& Region,
130+
FDModelsItemInfoResponse OnSuccess,
131+
FDErrorHandler OnError) const
132+
{
133+
ApiClientPtr->Item.GetItemByAppId(
134+
AppId,
135+
Language,
136+
Region,
137+
THandler<FAccelByteModelsItemInfo>::CreateLambda(
138+
[OnSuccess](FAccelByteModelsItemInfo const& Response)
139+
{
140+
OnSuccess.ExecuteIfBound(Response);
141+
}),
142+
FErrorHandler::CreateLambda(
143+
[OnError](int Code, FString const& Message)
144+
{
145+
OnError.ExecuteIfBound(Code, Message);
146+
}));
147+
}
148+
149+
void UABCatalog::GetItemsByCriteria(
150+
FAccelByteModelsItemCriteria const& ItemCriteria,
151+
int32 const& Offset,
152+
int32 const& Limit,
153+
FDModelsItemPagingSlicedResultResponse OnSuccess,
154+
FDErrorHandler OnError) const
155+
{
156+
ApiClientPtr->Item.GetItemsByCriteria(
157+
ItemCriteria,
158+
Offset,
159+
Limit,
160+
THandler<FAccelByteModelsItemPagingSlicedResult>::CreateLambda(
161+
[OnSuccess](FAccelByteModelsItemPagingSlicedResult const& Response)
162+
{
163+
OnSuccess.ExecuteIfBound(Response);
164+
}),
165+
FErrorHandler::CreateLambda(
166+
[OnError](int Code, FString const& Message)
167+
{
168+
OnError.ExecuteIfBound(Code, Message);
169+
}));
170+
}
171+
172+
void UABCatalog::SearchItem(
173+
FString const& Language,
174+
FString const& Keyword,
175+
int32 const& Offset,
176+
int32 const& Limit,
177+
FString const& Region,
178+
FDModelsItemPagingSlicedResultResponse OnSuccess,
179+
FDErrorHandler OnError) const
180+
{
181+
ApiClientPtr->Item.SearchItem(
182+
Language,
183+
Keyword,
184+
Offset,
185+
Limit,
186+
Region,
187+
THandler<FAccelByteModelsItemPagingSlicedResult>::CreateLambda(
188+
[OnSuccess](FAccelByteModelsItemPagingSlicedResult const& Response)
189+
{
190+
OnSuccess.ExecuteIfBound(Response);
191+
}),
192+
FErrorHandler::CreateLambda(
193+
[OnError](int Code, FString const& Message)
194+
{
195+
OnError.ExecuteIfBound(Code, Message);
196+
}));
197+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// Copyright (c) 2021 AccelByte Inc. All Rights Reserved.
2+
// This is licensed software from AccelByte Inc, for limitations
3+
// and restrictions contact your company contract manager.
4+
5+
#include "Blueprints/ABCurrency.h"
6+
#include "Api/AccelByteCurrencyApi.h"
7+
#include "Core/AccelByteRegistry.h"
8+
9+
void UABCurrency::SetApiClient(FApiClientPtr const& NewApiClientPtr)
10+
{
11+
ApiClientPtr = NewApiClientPtr;
12+
}
13+
14+
void UABCurrency::GetCurrencyList(
15+
FDArrayModelsCurrencyListResponse OnSuccess,
16+
FDErrorHandler OnError) const
17+
{
18+
ApiClientPtr->Currency.GetCurrencyList(
19+
FRegistry::Settings.Namespace,
20+
THandler<TArray<FAccelByteModelsCurrencyList>>::CreateLambda(
21+
[OnSuccess](TArray<FAccelByteModelsCurrencyList> const& Response)
22+
{
23+
FArrayModelsCurrencyList Result;
24+
Result.Content = Response;
25+
OnSuccess.ExecuteIfBound(Result);
26+
}),
27+
FErrorHandler::CreateLambda(
28+
[OnError](int Code, FString const& Message)
29+
{
30+
OnError.ExecuteIfBound(Code, Message);
31+
}));
32+
}

0 commit comments

Comments
 (0)