async-playfab-web-sdk 1.192.250526
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Addon.d.mts +591 -0
- package/dist/Addon.js.map +1 -0
- package/dist/Addon.mjs +452 -0
- package/dist/Addon.mjs.map +1 -0
- package/dist/Admin.d.mts +3484 -0
- package/dist/Admin.js.map +1 -0
- package/dist/Admin.mjs +1112 -0
- package/dist/Admin.mjs.map +1 -0
- package/dist/Authentication.d.mts +109 -0
- package/dist/Authentication.js.map +1 -0
- package/dist/Authentication.mjs +290 -0
- package/dist/Authentication.mjs.map +1 -0
- package/dist/Client.d.mts +4482 -0
- package/dist/Client.js.map +1 -0
- package/dist/Client.mjs +1893 -0
- package/dist/Client.mjs.map +1 -0
- package/dist/CloudScript.d.mts +511 -0
- package/dist/CloudScript.js.map +1 -0
- package/dist/CloudScript.mjs +349 -0
- package/dist/CloudScript.mjs.map +1 -0
- package/dist/Data.d.mts +228 -0
- package/dist/Data.js.map +1 -0
- package/dist/Data.mjs +291 -0
- package/dist/Data.mjs.map +1 -0
- package/dist/Economy.d.mts +1865 -0
- package/dist/Economy.js.map +1 -0
- package/dist/Economy.mjs +614 -0
- package/dist/Economy.mjs.map +1 -0
- package/dist/Events.d.mts +307 -0
- package/dist/Events.js.map +1 -0
- package/dist/Events.mjs +327 -0
- package/dist/Events.mjs.map +1 -0
- package/dist/Experimentation.d.mts +357 -0
- package/dist/Experimentation.js.map +1 -0
- package/dist/Experimentation.mjs +333 -0
- package/dist/Experimentation.mjs.map +1 -0
- package/dist/Groups.d.mts +546 -0
- package/dist/Groups.js.map +1 -0
- package/dist/Groups.mjs +417 -0
- package/dist/Groups.mjs.map +1 -0
- package/dist/Insights.d.mts +141 -0
- package/dist/Insights.js.map +1 -0
- package/dist/Insights.mjs +286 -0
- package/dist/Insights.mjs.map +1 -0
- package/dist/Localization.d.mts +20 -0
- package/dist/Localization.js.map +1 -0
- package/dist/Localization.mjs +249 -0
- package/dist/Localization.mjs.map +1 -0
- package/dist/Multiplayer.d.mts +3059 -0
- package/dist/Multiplayer.js.map +1 -0
- package/dist/Multiplayer.mjs +862 -0
- package/dist/Multiplayer.mjs.map +1 -0
- package/dist/PlayFabCommon-BUv4zqXf.d.mts +72 -0
- package/dist/Profiles.d.mts +278 -0
- package/dist/Profiles.js.map +1 -0
- package/dist/Profiles.mjs +306 -0
- package/dist/Profiles.mjs.map +1 -0
- package/dist/Progression.d.mts +598 -0
- package/dist/Progression.js.map +1 -0
- package/dist/Progression.mjs +404 -0
- package/dist/Progression.mjs.map +1 -0
- package/dist/Server.d.mts +3889 -0
- package/dist/Server.js.map +1 -0
- package/dist/Server.mjs +1377 -0
- package/dist/Server.mjs.map +1 -0
- package/dist/index.d.mts +17 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +6007 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +22 -0
- package/readme.md +25 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../src/apis/PlayFabInsightsApi.ts","../src/constants.ts","../src/PlayFabContext.ts","../src/PlayFabCommon.ts"],"sourcesContent":["import type {\n\n InsightsEmptyRequest,\n InsightsGetOperationStatusRequest,\n InsightsGetPendingOperationsRequest,\n InsightsSetPerformanceRequest,\n InsightsSetStorageRetentionRequest,\n InsightsGetDetailsResponse,\n InsightsGetLimitsResponse,\n InsightsGetOperationStatusResponse,\n InsightsGetPendingOperationsResponse,\n InsightsOperationResponse,\n} from \"../types/PlayFabInsightsApi\";\nimport { PlayFabCommon } from \"../PlayFabCommon\";\n\nexport default class PlayFabInsightsApi extends PlayFabCommon {\n\n /**\n * Gets the current values for the Insights performance and data storage retention, list of pending operations, and the\n * performance and data storage retention limits.\n * https://docs.microsoft.com/rest/api/playfab/insights/analytics/getdetails\n */\n GetDetails (request: InsightsEmptyRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<InsightsGetDetailsResponse>(\"/Insights/GetDetails\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Retrieves the range of allowed values for performance and data storage retention values as well as the submeter details\n * for each performance level.\n * https://docs.microsoft.com/rest/api/playfab/insights/analytics/getlimits\n */\n GetLimits (request: InsightsEmptyRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<InsightsGetLimitsResponse>(\"/Insights/GetLimits\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Gets the status of a SetPerformance or SetStorageRetention operation.\n * https://docs.microsoft.com/rest/api/playfab/insights/analytics/getoperationstatus\n */\n GetOperationStatus (request: InsightsGetOperationStatusRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<InsightsGetOperationStatusResponse>(\"/Insights/GetOperationStatus\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Gets a list of pending SetPerformance and/or SetStorageRetention operations for the title.\n * https://docs.microsoft.com/rest/api/playfab/insights/analytics/getpendingoperations\n */\n GetPendingOperations (request: InsightsGetPendingOperationsRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<InsightsGetPendingOperationsResponse>(\"/Insights/GetPendingOperations\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Sets the Insights performance level value for the title.\n * https://docs.microsoft.com/rest/api/playfab/insights/analytics/setperformance\n */\n SetPerformance (request: InsightsSetPerformanceRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<InsightsOperationResponse>(\"/Insights/SetPerformance\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Sets the Insights data storage retention days value for the title.\n * https://docs.microsoft.com/rest/api/playfab/insights/analytics/setstorageretention\n */\n SetStorageRetention (request: InsightsSetStorageRetentionRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<InsightsOperationResponse>(\"/Insights/SetStorageRetention\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n};\n","export interface ISettings {\n /** You must set this value for PlayFabSdk to work properly (Found in the Game Manager for your title, at the PlayFab Website) */\n titleId: string;\n /** For security reasons you must never expose this value to the client or players - You must set this value for Server-APIs to work properly (Found in the Game Manager for your title, at the PlayFab Website) */\n developerSecretKey: string;\n productionServerUrl: string;\n GlobalHeaderInjection?: { [key: string]: string };\n /** The name of a customer vertical. This is only for customers running a private cluster. Generally you shouldn't touch this */\n verticalName?: string | null;\n}\n\nexport const AuthInfoMap = {\n \"X-EntityToken\": {\n authAttr: \"entityToken\",\n authError: \"errorEntityToken\",\n },\n \"X-Authorization\": {\n authAttr: \"sessionTicket\",\n authError: \"errorLoggedIn\",\n },\n \"X-SecretKey\": {\n authAttr: \"developerSecretKey\",\n authError: \"errorSecretKey\",\n },\n};\n\nexport default {\n sdkVersion: \"1.192.250526\",\n sdkFingerprint: \"JavaScriptSDK-1.192.250526\",\n buildIdentifier: \"custom_async-javascriptsdk\",\n defaultSettings: {\n titleId: \"\",\n developerSecretKey: \"\",\n GlobalHeaderInjection: {},\n productionServerUrl: \".playfabapi.com\",\n verticalName: null\n } as ISettings\n};\n","import constants, { type ISettings } from \"./constants\";\n\nexport type AuthContext = {\n PlayFabId: string | null;\n EntityId: string | null;\n EntityType: string | null;\n SessionTicket: string | null;\n EntityToken: string | null;\n};\n\nexport class PlayFabContext {\n private static _instance: PlayFabContext;\n\n settings: ISettings = constants.defaultSettings;\n\n authenticationContext: AuthContext = {\n PlayFabId: null,\n EntityId: null,\n EntityType: null,\n SessionTicket: null,\n EntityToken: null,\n };\n\n sessionTicket: string | null = null;\n\n entityToken: string | null = null;\n\n private constructor() {}\n\n public static get instance(): PlayFabContext {\n if (!PlayFabContext._instance) {\n PlayFabContext._instance = new PlayFabContext();\n }\n\n return PlayFabContext._instance;\n }\n}\n","import constants, { ISettings, AuthInfoMap } from \"./constants\";\nimport { AuthContext, PlayFabContext } from \"./PlayFabContext\";\nimport { IPlayFabError, IPlayFabResultCommon } from \"./types/PlayFab\";\n\nexport class PlayFabCommon {\n buildIdentifier: string = constants.buildIdentifier;\n requestGetParams = {\n sdk: constants.sdkFingerprint,\n } as const;\n errorTitleId = \"Must be have settings.titleId set to call this method\";\n errorLoggedIn = \"Must be logged in to call this method\";\n errorEntityToken =\n \"You must successfully call GetEntityToken before calling this\";\n errorSecretKey =\n \"Must have settings.developerSecretKey set to call this method\";\n private _context = PlayFabContext.instance;\n\n constructor(settings: Partial<ISettings> | undefined = undefined) {\n if (settings) {\n Object.assign(this._context.settings, settings);\n }\n }\n\n get settings() {\n return this._context.settings;\n }\n\n get authenticationContext() {\n return this._context.authenticationContext;\n }\n\n get sessionTicket() {\n return this._context.sessionTicket;\n }\n\n set sessionTicket(value: string | null) {\n this._context.sessionTicket = value;\n }\n\n get entityToken() {\n return this._context.entityToken;\n }\n\n set entityToken(value: string | null) {\n this._context.entityToken = value;\n }\n\n GetServerUrl() {\n if (!(this.settings.productionServerUrl.substring(0, 4) === \"http\")) {\n return `https://${this.settings.verticalName || this.settings.titleId}${\n this.settings.productionServerUrl\n }`;\n } else {\n return this.settings.productionServerUrl;\n }\n }\n\n InjectHeaders(\n xhr: XMLHttpRequest,\n headersObj: Record<string, string> | undefined\n ) {\n if (!headersObj) return;\n\n for (const headerKey in headersObj) {\n try {\n xhr.setRequestHeader(headerKey, headersObj[headerKey]);\n } catch (e) {\n console.log(\n `Failed to append header: ${headerKey} = ${headersObj[headerKey]} Error: ${e}`\n );\n }\n }\n }\n\n ExecuteRequest<T extends IPlayFabResultCommon>(\n url: string,\n body: any,\n authkey: string | null,\n authValue: string | null,\n customData: any,\n extraHeaders?: Record<string, string>\n ): Promise<T> {\n return new Promise((resolve, reject) => {\n if (body == null) body = {};\n\n var startTime = new Date().getTime();\n var requestBody = JSON.stringify(body);\n\n var urlArr = [url];\n var getParams = this.requestGetParams;\n if (getParams != null) {\n var firstParam = true;\n for (var key in getParams) {\n if (firstParam) {\n urlArr.push(\"?\");\n firstParam = false;\n } else {\n urlArr.push(\"&\");\n }\n urlArr.push(key);\n urlArr.push(\"=\");\n urlArr.push(getParams[key as keyof typeof getParams]);\n }\n }\n\n var completeUrl = urlArr.join(\"\");\n\n var xhr = new XMLHttpRequest();\n xhr.open(\"POST\", completeUrl, true);\n\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\n \"X-PlayFabSDK\",\n \"JavaScriptSDK-\" + constants.sdkVersion\n );\n if (authkey != null) {\n xhr.setRequestHeader(authkey, authValue!);\n }\n this.InjectHeaders(xhr, this.settings.GlobalHeaderInjection);\n this.InjectHeaders(xhr, extraHeaders);\n\n xhr.onloadend = () => {\n var result = this.GetPlayFabResponse(body, xhr, startTime, customData);\n if (result.code === 200) {\n resolve(result.data || result);\n } else {\n reject(result);\n }\n };\n\n xhr.onerror = () => {\n var result = this.GetPlayFabResponse(body, xhr, startTime, customData);\n reject(result);\n };\n\n xhr.send(requestBody);\n });\n }\n\n GetPlayFabResponse(\n request: any,\n xhr: XMLHttpRequest,\n startTime: number,\n customData: any\n ) {\n var result = null as any;\n try {\n // window.console.log(\"parsing json result: \" + xhr.responseText);\n result = JSON.parse(xhr.responseText);\n } catch (e) {\n result = {\n code: 503, // Service Unavailable\n status: \"Service Unavailable\",\n error: \"Connection error\",\n errorCode: 2, // PlayFabErrorCode.ConnectionError\n errorMessage: xhr.responseText,\n };\n }\n\n result.CallBackTimeMS = new Date().getTime() - startTime;\n result.Request = request;\n result.CustomData = customData;\n return result;\n }\n\n UpdateAuthenticationContext(currentAuthContext: AuthContext, result: any) {\n var authenticationContextUpdates = {} as AuthContext;\n if (result?.PlayFabId) {\n authenticationContextUpdates.PlayFabId = result.PlayFabId;\n }\n if (result?.SessionTicket) {\n authenticationContextUpdates.SessionTicket = result.SessionTicket;\n }\n if (result?.EntityToken) {\n authenticationContextUpdates.EntityId = result.EntityToken.Entity.Id;\n authenticationContextUpdates.EntityType = result.EntityToken.Entity.Type;\n authenticationContextUpdates.EntityToken = result.EntityToken.EntityToken;\n }\n // Update the authenticationContext with values from the result\n currentAuthContext = Object.assign(\n currentAuthContext,\n authenticationContextUpdates\n );\n\n this._context.authenticationContext = currentAuthContext;\n\n return currentAuthContext;\n }\n\n GetAuthInfo(request: any, authKey: string) {\n // Use the most-recently saved authKey, unless one was provided in the request via the AuthenticationContext\n var authError = AuthInfoMap[authKey as keyof typeof AuthInfoMap].authError;\n var authAttr = AuthInfoMap[authKey as keyof typeof AuthInfoMap].authAttr;\n var defaultAuthValue: string | null = null;\n if (authAttr === \"entityToken\") defaultAuthValue = this.entityToken;\n else if (authAttr === \"sessionTicket\")\n defaultAuthValue = this.sessionTicket;\n else if (authAttr === \"developerSecretKey\")\n defaultAuthValue = this.settings.developerSecretKey;\n var authValue = request.AuthenticationContext\n ? request.AuthenticationContext[authAttr]\n : defaultAuthValue;\n return { authKey, authValue, authError };\n }\n\n ExecuteRequestWrapper<T extends IPlayFabResultCommon>(\n apiURL: string,\n request: any,\n authKey: string | null,\n customData: any,\n extraHeaders?: Record<string, string>\n ) {\n var authValue = null;\n if (authKey !== null) {\n const { authError, ...authInfo } = this.GetAuthInfo(request, authKey);\n authKey = authInfo.authKey;\n authValue = authInfo.authValue;\n if (!authValue) throw authError;\n }\n return this.ExecuteRequest<T>(\n this.GetServerUrl() + apiURL,\n request,\n authKey,\n authValue,\n customData,\n extraHeaders\n );\n }\n\n GenerateErrorReport(error: IPlayFabError | null): string {\n if (error == null) return \"\";\n var fullErrors = error.errorMessage;\n for (var paramName in error.errorDetails)\n for (var msgIdx in error.errorDetails[paramName])\n fullErrors +=\n \"\\n\" + paramName + \": \" + error.errorDetails[paramName][msgIdx];\n return fullErrors;\n }\n\n ForgetAllCredentials() {\n this._context.sessionTicket = null;\n this._context.entityToken = null;\n }\n}\n"],"mappings":"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","names":[]}
|
@@ -0,0 +1,286 @@
|
|
1
|
+
// src/constants.ts
|
2
|
+
var AuthInfoMap = {
|
3
|
+
"X-EntityToken": {
|
4
|
+
authAttr: "entityToken",
|
5
|
+
authError: "errorEntityToken"
|
6
|
+
},
|
7
|
+
"X-Authorization": {
|
8
|
+
authAttr: "sessionTicket",
|
9
|
+
authError: "errorLoggedIn"
|
10
|
+
},
|
11
|
+
"X-SecretKey": {
|
12
|
+
authAttr: "developerSecretKey",
|
13
|
+
authError: "errorSecretKey"
|
14
|
+
}
|
15
|
+
};
|
16
|
+
var constants_default = {
|
17
|
+
sdkVersion: "1.192.250526",
|
18
|
+
sdkFingerprint: "JavaScriptSDK-1.192.250526",
|
19
|
+
buildIdentifier: "custom_async-javascriptsdk",
|
20
|
+
defaultSettings: {
|
21
|
+
titleId: "",
|
22
|
+
developerSecretKey: "",
|
23
|
+
GlobalHeaderInjection: {},
|
24
|
+
productionServerUrl: ".playfabapi.com",
|
25
|
+
verticalName: null
|
26
|
+
}
|
27
|
+
};
|
28
|
+
|
29
|
+
// src/PlayFabContext.ts
|
30
|
+
var PlayFabContext = class _PlayFabContext {
|
31
|
+
constructor() {
|
32
|
+
this.settings = constants_default.defaultSettings;
|
33
|
+
this.authenticationContext = {
|
34
|
+
PlayFabId: null,
|
35
|
+
EntityId: null,
|
36
|
+
EntityType: null,
|
37
|
+
SessionTicket: null,
|
38
|
+
EntityToken: null
|
39
|
+
};
|
40
|
+
this.sessionTicket = null;
|
41
|
+
this.entityToken = null;
|
42
|
+
}
|
43
|
+
static get instance() {
|
44
|
+
if (!_PlayFabContext._instance) {
|
45
|
+
_PlayFabContext._instance = new _PlayFabContext();
|
46
|
+
}
|
47
|
+
return _PlayFabContext._instance;
|
48
|
+
}
|
49
|
+
};
|
50
|
+
|
51
|
+
// src/PlayFabCommon.ts
|
52
|
+
var PlayFabCommon = class {
|
53
|
+
constructor(settings = void 0) {
|
54
|
+
this.buildIdentifier = constants_default.buildIdentifier;
|
55
|
+
this.requestGetParams = {
|
56
|
+
sdk: constants_default.sdkFingerprint
|
57
|
+
};
|
58
|
+
this.errorTitleId = "Must be have settings.titleId set to call this method";
|
59
|
+
this.errorLoggedIn = "Must be logged in to call this method";
|
60
|
+
this.errorEntityToken = "You must successfully call GetEntityToken before calling this";
|
61
|
+
this.errorSecretKey = "Must have settings.developerSecretKey set to call this method";
|
62
|
+
this._context = PlayFabContext.instance;
|
63
|
+
if (settings) {
|
64
|
+
Object.assign(this._context.settings, settings);
|
65
|
+
}
|
66
|
+
}
|
67
|
+
get settings() {
|
68
|
+
return this._context.settings;
|
69
|
+
}
|
70
|
+
get authenticationContext() {
|
71
|
+
return this._context.authenticationContext;
|
72
|
+
}
|
73
|
+
get sessionTicket() {
|
74
|
+
return this._context.sessionTicket;
|
75
|
+
}
|
76
|
+
set sessionTicket(value) {
|
77
|
+
this._context.sessionTicket = value;
|
78
|
+
}
|
79
|
+
get entityToken() {
|
80
|
+
return this._context.entityToken;
|
81
|
+
}
|
82
|
+
set entityToken(value) {
|
83
|
+
this._context.entityToken = value;
|
84
|
+
}
|
85
|
+
GetServerUrl() {
|
86
|
+
if (!(this.settings.productionServerUrl.substring(0, 4) === "http")) {
|
87
|
+
return `https://${this.settings.verticalName || this.settings.titleId}${this.settings.productionServerUrl}`;
|
88
|
+
} else {
|
89
|
+
return this.settings.productionServerUrl;
|
90
|
+
}
|
91
|
+
}
|
92
|
+
InjectHeaders(xhr, headersObj) {
|
93
|
+
if (!headersObj) return;
|
94
|
+
for (const headerKey in headersObj) {
|
95
|
+
try {
|
96
|
+
xhr.setRequestHeader(headerKey, headersObj[headerKey]);
|
97
|
+
} catch (e) {
|
98
|
+
console.log(
|
99
|
+
`Failed to append header: ${headerKey} = ${headersObj[headerKey]} Error: ${e}`
|
100
|
+
);
|
101
|
+
}
|
102
|
+
}
|
103
|
+
}
|
104
|
+
ExecuteRequest(url, body, authkey, authValue, customData, extraHeaders) {
|
105
|
+
return new Promise((resolve, reject) => {
|
106
|
+
if (body == null) body = {};
|
107
|
+
var startTime = (/* @__PURE__ */ new Date()).getTime();
|
108
|
+
var requestBody = JSON.stringify(body);
|
109
|
+
var urlArr = [url];
|
110
|
+
var getParams = this.requestGetParams;
|
111
|
+
if (getParams != null) {
|
112
|
+
var firstParam = true;
|
113
|
+
for (var key in getParams) {
|
114
|
+
if (firstParam) {
|
115
|
+
urlArr.push("?");
|
116
|
+
firstParam = false;
|
117
|
+
} else {
|
118
|
+
urlArr.push("&");
|
119
|
+
}
|
120
|
+
urlArr.push(key);
|
121
|
+
urlArr.push("=");
|
122
|
+
urlArr.push(getParams[key]);
|
123
|
+
}
|
124
|
+
}
|
125
|
+
var completeUrl = urlArr.join("");
|
126
|
+
var xhr = new XMLHttpRequest();
|
127
|
+
xhr.open("POST", completeUrl, true);
|
128
|
+
xhr.setRequestHeader("Content-Type", "application/json");
|
129
|
+
xhr.setRequestHeader(
|
130
|
+
"X-PlayFabSDK",
|
131
|
+
"JavaScriptSDK-" + constants_default.sdkVersion
|
132
|
+
);
|
133
|
+
if (authkey != null) {
|
134
|
+
xhr.setRequestHeader(authkey, authValue);
|
135
|
+
}
|
136
|
+
this.InjectHeaders(xhr, this.settings.GlobalHeaderInjection);
|
137
|
+
this.InjectHeaders(xhr, extraHeaders);
|
138
|
+
xhr.onloadend = () => {
|
139
|
+
var result = this.GetPlayFabResponse(body, xhr, startTime, customData);
|
140
|
+
if (result.code === 200) {
|
141
|
+
resolve(result.data || result);
|
142
|
+
} else {
|
143
|
+
reject(result);
|
144
|
+
}
|
145
|
+
};
|
146
|
+
xhr.onerror = () => {
|
147
|
+
var result = this.GetPlayFabResponse(body, xhr, startTime, customData);
|
148
|
+
reject(result);
|
149
|
+
};
|
150
|
+
xhr.send(requestBody);
|
151
|
+
});
|
152
|
+
}
|
153
|
+
GetPlayFabResponse(request, xhr, startTime, customData) {
|
154
|
+
var result = null;
|
155
|
+
try {
|
156
|
+
result = JSON.parse(xhr.responseText);
|
157
|
+
} catch (e) {
|
158
|
+
result = {
|
159
|
+
code: 503,
|
160
|
+
// Service Unavailable
|
161
|
+
status: "Service Unavailable",
|
162
|
+
error: "Connection error",
|
163
|
+
errorCode: 2,
|
164
|
+
// PlayFabErrorCode.ConnectionError
|
165
|
+
errorMessage: xhr.responseText
|
166
|
+
};
|
167
|
+
}
|
168
|
+
result.CallBackTimeMS = (/* @__PURE__ */ new Date()).getTime() - startTime;
|
169
|
+
result.Request = request;
|
170
|
+
result.CustomData = customData;
|
171
|
+
return result;
|
172
|
+
}
|
173
|
+
UpdateAuthenticationContext(currentAuthContext, result) {
|
174
|
+
var authenticationContextUpdates = {};
|
175
|
+
if (result == null ? void 0 : result.PlayFabId) {
|
176
|
+
authenticationContextUpdates.PlayFabId = result.PlayFabId;
|
177
|
+
}
|
178
|
+
if (result == null ? void 0 : result.SessionTicket) {
|
179
|
+
authenticationContextUpdates.SessionTicket = result.SessionTicket;
|
180
|
+
}
|
181
|
+
if (result == null ? void 0 : result.EntityToken) {
|
182
|
+
authenticationContextUpdates.EntityId = result.EntityToken.Entity.Id;
|
183
|
+
authenticationContextUpdates.EntityType = result.EntityToken.Entity.Type;
|
184
|
+
authenticationContextUpdates.EntityToken = result.EntityToken.EntityToken;
|
185
|
+
}
|
186
|
+
currentAuthContext = Object.assign(
|
187
|
+
currentAuthContext,
|
188
|
+
authenticationContextUpdates
|
189
|
+
);
|
190
|
+
this._context.authenticationContext = currentAuthContext;
|
191
|
+
return currentAuthContext;
|
192
|
+
}
|
193
|
+
GetAuthInfo(request, authKey) {
|
194
|
+
var authError = AuthInfoMap[authKey].authError;
|
195
|
+
var authAttr = AuthInfoMap[authKey].authAttr;
|
196
|
+
var defaultAuthValue = null;
|
197
|
+
if (authAttr === "entityToken") defaultAuthValue = this.entityToken;
|
198
|
+
else if (authAttr === "sessionTicket")
|
199
|
+
defaultAuthValue = this.sessionTicket;
|
200
|
+
else if (authAttr === "developerSecretKey")
|
201
|
+
defaultAuthValue = this.settings.developerSecretKey;
|
202
|
+
var authValue = request.AuthenticationContext ? request.AuthenticationContext[authAttr] : defaultAuthValue;
|
203
|
+
return { authKey, authValue, authError };
|
204
|
+
}
|
205
|
+
ExecuteRequestWrapper(apiURL, request, authKey, customData, extraHeaders) {
|
206
|
+
var authValue = null;
|
207
|
+
if (authKey !== null) {
|
208
|
+
const { authError, ...authInfo } = this.GetAuthInfo(request, authKey);
|
209
|
+
authKey = authInfo.authKey;
|
210
|
+
authValue = authInfo.authValue;
|
211
|
+
if (!authValue) throw authError;
|
212
|
+
}
|
213
|
+
return this.ExecuteRequest(
|
214
|
+
this.GetServerUrl() + apiURL,
|
215
|
+
request,
|
216
|
+
authKey,
|
217
|
+
authValue,
|
218
|
+
customData,
|
219
|
+
extraHeaders
|
220
|
+
);
|
221
|
+
}
|
222
|
+
GenerateErrorReport(error) {
|
223
|
+
if (error == null) return "";
|
224
|
+
var fullErrors = error.errorMessage;
|
225
|
+
for (var paramName in error.errorDetails)
|
226
|
+
for (var msgIdx in error.errorDetails[paramName])
|
227
|
+
fullErrors += "\n" + paramName + ": " + error.errorDetails[paramName][msgIdx];
|
228
|
+
return fullErrors;
|
229
|
+
}
|
230
|
+
ForgetAllCredentials() {
|
231
|
+
this._context.sessionTicket = null;
|
232
|
+
this._context.entityToken = null;
|
233
|
+
}
|
234
|
+
};
|
235
|
+
|
236
|
+
// src/apis/PlayFabInsightsApi.ts
|
237
|
+
var PlayFabInsightsApi = class extends PlayFabCommon {
|
238
|
+
/**
|
239
|
+
* Gets the current values for the Insights performance and data storage retention, list of pending operations, and the
|
240
|
+
* performance and data storage retention limits.
|
241
|
+
* https://docs.microsoft.com/rest/api/playfab/insights/analytics/getdetails
|
242
|
+
*/
|
243
|
+
GetDetails(request, customData, extraHeaders) {
|
244
|
+
return this.ExecuteRequestWrapper("/Insights/GetDetails", request, "X-EntityToken", customData, extraHeaders);
|
245
|
+
}
|
246
|
+
/**
|
247
|
+
* Retrieves the range of allowed values for performance and data storage retention values as well as the submeter details
|
248
|
+
* for each performance level.
|
249
|
+
* https://docs.microsoft.com/rest/api/playfab/insights/analytics/getlimits
|
250
|
+
*/
|
251
|
+
GetLimits(request, customData, extraHeaders) {
|
252
|
+
return this.ExecuteRequestWrapper("/Insights/GetLimits", request, "X-EntityToken", customData, extraHeaders);
|
253
|
+
}
|
254
|
+
/**
|
255
|
+
* Gets the status of a SetPerformance or SetStorageRetention operation.
|
256
|
+
* https://docs.microsoft.com/rest/api/playfab/insights/analytics/getoperationstatus
|
257
|
+
*/
|
258
|
+
GetOperationStatus(request, customData, extraHeaders) {
|
259
|
+
return this.ExecuteRequestWrapper("/Insights/GetOperationStatus", request, "X-EntityToken", customData, extraHeaders);
|
260
|
+
}
|
261
|
+
/**
|
262
|
+
* Gets a list of pending SetPerformance and/or SetStorageRetention operations for the title.
|
263
|
+
* https://docs.microsoft.com/rest/api/playfab/insights/analytics/getpendingoperations
|
264
|
+
*/
|
265
|
+
GetPendingOperations(request, customData, extraHeaders) {
|
266
|
+
return this.ExecuteRequestWrapper("/Insights/GetPendingOperations", request, "X-EntityToken", customData, extraHeaders);
|
267
|
+
}
|
268
|
+
/**
|
269
|
+
* Sets the Insights performance level value for the title.
|
270
|
+
* https://docs.microsoft.com/rest/api/playfab/insights/analytics/setperformance
|
271
|
+
*/
|
272
|
+
SetPerformance(request, customData, extraHeaders) {
|
273
|
+
return this.ExecuteRequestWrapper("/Insights/SetPerformance", request, "X-EntityToken", customData, extraHeaders);
|
274
|
+
}
|
275
|
+
/**
|
276
|
+
* Sets the Insights data storage retention days value for the title.
|
277
|
+
* https://docs.microsoft.com/rest/api/playfab/insights/analytics/setstorageretention
|
278
|
+
*/
|
279
|
+
SetStorageRetention(request, customData, extraHeaders) {
|
280
|
+
return this.ExecuteRequestWrapper("/Insights/SetStorageRetention", request, "X-EntityToken", customData, extraHeaders);
|
281
|
+
}
|
282
|
+
};
|
283
|
+
export {
|
284
|
+
PlayFabInsightsApi as default
|
285
|
+
};
|
286
|
+
//# sourceMappingURL=Insights.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../src/constants.ts","../src/PlayFabContext.ts","../src/PlayFabCommon.ts","../src/apis/PlayFabInsightsApi.ts"],"sourcesContent":["export interface ISettings {\n /** You must set this value for PlayFabSdk to work properly (Found in the Game Manager for your title, at the PlayFab Website) */\n titleId: string;\n /** For security reasons you must never expose this value to the client or players - You must set this value for Server-APIs to work properly (Found in the Game Manager for your title, at the PlayFab Website) */\n developerSecretKey: string;\n productionServerUrl: string;\n GlobalHeaderInjection?: { [key: string]: string };\n /** The name of a customer vertical. This is only for customers running a private cluster. Generally you shouldn't touch this */\n verticalName?: string | null;\n}\n\nexport const AuthInfoMap = {\n \"X-EntityToken\": {\n authAttr: \"entityToken\",\n authError: \"errorEntityToken\",\n },\n \"X-Authorization\": {\n authAttr: \"sessionTicket\",\n authError: \"errorLoggedIn\",\n },\n \"X-SecretKey\": {\n authAttr: \"developerSecretKey\",\n authError: \"errorSecretKey\",\n },\n};\n\nexport default {\n sdkVersion: \"1.192.250526\",\n sdkFingerprint: \"JavaScriptSDK-1.192.250526\",\n buildIdentifier: \"custom_async-javascriptsdk\",\n defaultSettings: {\n titleId: \"\",\n developerSecretKey: \"\",\n GlobalHeaderInjection: {},\n productionServerUrl: \".playfabapi.com\",\n verticalName: null\n } as ISettings\n};\n","import constants, { type ISettings } from \"./constants\";\n\nexport type AuthContext = {\n PlayFabId: string | null;\n EntityId: string | null;\n EntityType: string | null;\n SessionTicket: string | null;\n EntityToken: string | null;\n};\n\nexport class PlayFabContext {\n private static _instance: PlayFabContext;\n\n settings: ISettings = constants.defaultSettings;\n\n authenticationContext: AuthContext = {\n PlayFabId: null,\n EntityId: null,\n EntityType: null,\n SessionTicket: null,\n EntityToken: null,\n };\n\n sessionTicket: string | null = null;\n\n entityToken: string | null = null;\n\n private constructor() {}\n\n public static get instance(): PlayFabContext {\n if (!PlayFabContext._instance) {\n PlayFabContext._instance = new PlayFabContext();\n }\n\n return PlayFabContext._instance;\n }\n}\n","import constants, { ISettings, AuthInfoMap } from \"./constants\";\nimport { AuthContext, PlayFabContext } from \"./PlayFabContext\";\nimport { IPlayFabError, IPlayFabResultCommon } from \"./types/PlayFab\";\n\nexport class PlayFabCommon {\n buildIdentifier: string = constants.buildIdentifier;\n requestGetParams = {\n sdk: constants.sdkFingerprint,\n } as const;\n errorTitleId = \"Must be have settings.titleId set to call this method\";\n errorLoggedIn = \"Must be logged in to call this method\";\n errorEntityToken =\n \"You must successfully call GetEntityToken before calling this\";\n errorSecretKey =\n \"Must have settings.developerSecretKey set to call this method\";\n private _context = PlayFabContext.instance;\n\n constructor(settings: Partial<ISettings> | undefined = undefined) {\n if (settings) {\n Object.assign(this._context.settings, settings);\n }\n }\n\n get settings() {\n return this._context.settings;\n }\n\n get authenticationContext() {\n return this._context.authenticationContext;\n }\n\n get sessionTicket() {\n return this._context.sessionTicket;\n }\n\n set sessionTicket(value: string | null) {\n this._context.sessionTicket = value;\n }\n\n get entityToken() {\n return this._context.entityToken;\n }\n\n set entityToken(value: string | null) {\n this._context.entityToken = value;\n }\n\n GetServerUrl() {\n if (!(this.settings.productionServerUrl.substring(0, 4) === \"http\")) {\n return `https://${this.settings.verticalName || this.settings.titleId}${\n this.settings.productionServerUrl\n }`;\n } else {\n return this.settings.productionServerUrl;\n }\n }\n\n InjectHeaders(\n xhr: XMLHttpRequest,\n headersObj: Record<string, string> | undefined\n ) {\n if (!headersObj) return;\n\n for (const headerKey in headersObj) {\n try {\n xhr.setRequestHeader(headerKey, headersObj[headerKey]);\n } catch (e) {\n console.log(\n `Failed to append header: ${headerKey} = ${headersObj[headerKey]} Error: ${e}`\n );\n }\n }\n }\n\n ExecuteRequest<T extends IPlayFabResultCommon>(\n url: string,\n body: any,\n authkey: string | null,\n authValue: string | null,\n customData: any,\n extraHeaders?: Record<string, string>\n ): Promise<T> {\n return new Promise((resolve, reject) => {\n if (body == null) body = {};\n\n var startTime = new Date().getTime();\n var requestBody = JSON.stringify(body);\n\n var urlArr = [url];\n var getParams = this.requestGetParams;\n if (getParams != null) {\n var firstParam = true;\n for (var key in getParams) {\n if (firstParam) {\n urlArr.push(\"?\");\n firstParam = false;\n } else {\n urlArr.push(\"&\");\n }\n urlArr.push(key);\n urlArr.push(\"=\");\n urlArr.push(getParams[key as keyof typeof getParams]);\n }\n }\n\n var completeUrl = urlArr.join(\"\");\n\n var xhr = new XMLHttpRequest();\n xhr.open(\"POST\", completeUrl, true);\n\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\n \"X-PlayFabSDK\",\n \"JavaScriptSDK-\" + constants.sdkVersion\n );\n if (authkey != null) {\n xhr.setRequestHeader(authkey, authValue!);\n }\n this.InjectHeaders(xhr, this.settings.GlobalHeaderInjection);\n this.InjectHeaders(xhr, extraHeaders);\n\n xhr.onloadend = () => {\n var result = this.GetPlayFabResponse(body, xhr, startTime, customData);\n if (result.code === 200) {\n resolve(result.data || result);\n } else {\n reject(result);\n }\n };\n\n xhr.onerror = () => {\n var result = this.GetPlayFabResponse(body, xhr, startTime, customData);\n reject(result);\n };\n\n xhr.send(requestBody);\n });\n }\n\n GetPlayFabResponse(\n request: any,\n xhr: XMLHttpRequest,\n startTime: number,\n customData: any\n ) {\n var result = null as any;\n try {\n // window.console.log(\"parsing json result: \" + xhr.responseText);\n result = JSON.parse(xhr.responseText);\n } catch (e) {\n result = {\n code: 503, // Service Unavailable\n status: \"Service Unavailable\",\n error: \"Connection error\",\n errorCode: 2, // PlayFabErrorCode.ConnectionError\n errorMessage: xhr.responseText,\n };\n }\n\n result.CallBackTimeMS = new Date().getTime() - startTime;\n result.Request = request;\n result.CustomData = customData;\n return result;\n }\n\n UpdateAuthenticationContext(currentAuthContext: AuthContext, result: any) {\n var authenticationContextUpdates = {} as AuthContext;\n if (result?.PlayFabId) {\n authenticationContextUpdates.PlayFabId = result.PlayFabId;\n }\n if (result?.SessionTicket) {\n authenticationContextUpdates.SessionTicket = result.SessionTicket;\n }\n if (result?.EntityToken) {\n authenticationContextUpdates.EntityId = result.EntityToken.Entity.Id;\n authenticationContextUpdates.EntityType = result.EntityToken.Entity.Type;\n authenticationContextUpdates.EntityToken = result.EntityToken.EntityToken;\n }\n // Update the authenticationContext with values from the result\n currentAuthContext = Object.assign(\n currentAuthContext,\n authenticationContextUpdates\n );\n\n this._context.authenticationContext = currentAuthContext;\n\n return currentAuthContext;\n }\n\n GetAuthInfo(request: any, authKey: string) {\n // Use the most-recently saved authKey, unless one was provided in the request via the AuthenticationContext\n var authError = AuthInfoMap[authKey as keyof typeof AuthInfoMap].authError;\n var authAttr = AuthInfoMap[authKey as keyof typeof AuthInfoMap].authAttr;\n var defaultAuthValue: string | null = null;\n if (authAttr === \"entityToken\") defaultAuthValue = this.entityToken;\n else if (authAttr === \"sessionTicket\")\n defaultAuthValue = this.sessionTicket;\n else if (authAttr === \"developerSecretKey\")\n defaultAuthValue = this.settings.developerSecretKey;\n var authValue = request.AuthenticationContext\n ? request.AuthenticationContext[authAttr]\n : defaultAuthValue;\n return { authKey, authValue, authError };\n }\n\n ExecuteRequestWrapper<T extends IPlayFabResultCommon>(\n apiURL: string,\n request: any,\n authKey: string | null,\n customData: any,\n extraHeaders?: Record<string, string>\n ) {\n var authValue = null;\n if (authKey !== null) {\n const { authError, ...authInfo } = this.GetAuthInfo(request, authKey);\n authKey = authInfo.authKey;\n authValue = authInfo.authValue;\n if (!authValue) throw authError;\n }\n return this.ExecuteRequest<T>(\n this.GetServerUrl() + apiURL,\n request,\n authKey,\n authValue,\n customData,\n extraHeaders\n );\n }\n\n GenerateErrorReport(error: IPlayFabError | null): string {\n if (error == null) return \"\";\n var fullErrors = error.errorMessage;\n for (var paramName in error.errorDetails)\n for (var msgIdx in error.errorDetails[paramName])\n fullErrors +=\n \"\\n\" + paramName + \": \" + error.errorDetails[paramName][msgIdx];\n return fullErrors;\n }\n\n ForgetAllCredentials() {\n this._context.sessionTicket = null;\n this._context.entityToken = null;\n }\n}\n","import type {\n\n InsightsEmptyRequest,\n InsightsGetOperationStatusRequest,\n InsightsGetPendingOperationsRequest,\n InsightsSetPerformanceRequest,\n InsightsSetStorageRetentionRequest,\n InsightsGetDetailsResponse,\n InsightsGetLimitsResponse,\n InsightsGetOperationStatusResponse,\n InsightsGetPendingOperationsResponse,\n InsightsOperationResponse,\n} from \"../types/PlayFabInsightsApi\";\nimport { PlayFabCommon } from \"../PlayFabCommon\";\n\nexport default class PlayFabInsightsApi extends PlayFabCommon {\n\n /**\n * Gets the current values for the Insights performance and data storage retention, list of pending operations, and the\n * performance and data storage retention limits.\n * https://docs.microsoft.com/rest/api/playfab/insights/analytics/getdetails\n */\n GetDetails (request: InsightsEmptyRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<InsightsGetDetailsResponse>(\"/Insights/GetDetails\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Retrieves the range of allowed values for performance and data storage retention values as well as the submeter details\n * for each performance level.\n * https://docs.microsoft.com/rest/api/playfab/insights/analytics/getlimits\n */\n GetLimits (request: InsightsEmptyRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<InsightsGetLimitsResponse>(\"/Insights/GetLimits\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Gets the status of a SetPerformance or SetStorageRetention operation.\n * https://docs.microsoft.com/rest/api/playfab/insights/analytics/getoperationstatus\n */\n GetOperationStatus (request: InsightsGetOperationStatusRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<InsightsGetOperationStatusResponse>(\"/Insights/GetOperationStatus\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Gets a list of pending SetPerformance and/or SetStorageRetention operations for the title.\n * https://docs.microsoft.com/rest/api/playfab/insights/analytics/getpendingoperations\n */\n GetPendingOperations (request: InsightsGetPendingOperationsRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<InsightsGetPendingOperationsResponse>(\"/Insights/GetPendingOperations\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Sets the Insights performance level value for the title.\n * https://docs.microsoft.com/rest/api/playfab/insights/analytics/setperformance\n */\n SetPerformance (request: InsightsSetPerformanceRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<InsightsOperationResponse>(\"/Insights/SetPerformance\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Sets the Insights data storage retention days value for the title.\n * https://docs.microsoft.com/rest/api/playfab/insights/analytics/setstorageretention\n */\n SetStorageRetention (request: InsightsSetStorageRetentionRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<InsightsOperationResponse>(\"/Insights/SetStorageRetention\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n};\n"],"mappings":"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","names":[]}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { I as IPlayFabRequestCommon, a as IPlayFabResultCommon, P as PlayFabCommon } from './PlayFabCommon-BUv4zqXf.mjs';
|
2
|
+
|
3
|
+
interface GetLanguageListRequest extends IPlayFabRequestCommon {
|
4
|
+
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
|
5
|
+
CustomTags?: Record<string, string | null>;
|
6
|
+
}
|
7
|
+
interface GetLanguageListResponse extends IPlayFabResultCommon {
|
8
|
+
/** The list of allowed languages, in BCP47 two-letter format */
|
9
|
+
LanguageList?: string[];
|
10
|
+
}
|
11
|
+
|
12
|
+
declare class PlayFabLocalizationApi extends PlayFabCommon {
|
13
|
+
/**
|
14
|
+
* Retrieves the list of allowed languages, only accessible by title entities
|
15
|
+
* https://docs.microsoft.com/rest/api/playfab/localization/localization/getlanguagelist
|
16
|
+
*/
|
17
|
+
GetLanguageList(request: GetLanguageListRequest, customData?: any, extraHeaders?: Record<string, string>): Promise<GetLanguageListResponse>;
|
18
|
+
}
|
19
|
+
|
20
|
+
export { PlayFabLocalizationApi as default };
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../src/apis/PlayFabLocalizationApi.ts","../src/constants.ts","../src/PlayFabContext.ts","../src/PlayFabCommon.ts"],"sourcesContent":["import type {\n\n GetLanguageListRequest,\n GetLanguageListResponse,\n} from \"../types/PlayFabLocalizationApi\";\nimport { PlayFabCommon } from \"../PlayFabCommon\";\n\nexport default class PlayFabLocalizationApi extends PlayFabCommon {\n\n /**\n * Retrieves the list of allowed languages, only accessible by title entities\n * https://docs.microsoft.com/rest/api/playfab/localization/localization/getlanguagelist\n */\n GetLanguageList (request: GetLanguageListRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<GetLanguageListResponse>(\"/Locale/GetLanguageList\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n};\n","export interface ISettings {\n /** You must set this value for PlayFabSdk to work properly (Found in the Game Manager for your title, at the PlayFab Website) */\n titleId: string;\n /** For security reasons you must never expose this value to the client or players - You must set this value for Server-APIs to work properly (Found in the Game Manager for your title, at the PlayFab Website) */\n developerSecretKey: string;\n productionServerUrl: string;\n GlobalHeaderInjection?: { [key: string]: string };\n /** The name of a customer vertical. This is only for customers running a private cluster. Generally you shouldn't touch this */\n verticalName?: string | null;\n}\n\nexport const AuthInfoMap = {\n \"X-EntityToken\": {\n authAttr: \"entityToken\",\n authError: \"errorEntityToken\",\n },\n \"X-Authorization\": {\n authAttr: \"sessionTicket\",\n authError: \"errorLoggedIn\",\n },\n \"X-SecretKey\": {\n authAttr: \"developerSecretKey\",\n authError: \"errorSecretKey\",\n },\n};\n\nexport default {\n sdkVersion: \"1.192.250526\",\n sdkFingerprint: \"JavaScriptSDK-1.192.250526\",\n buildIdentifier: \"custom_async-javascriptsdk\",\n defaultSettings: {\n titleId: \"\",\n developerSecretKey: \"\",\n GlobalHeaderInjection: {},\n productionServerUrl: \".playfabapi.com\",\n verticalName: null\n } as ISettings\n};\n","import constants, { type ISettings } from \"./constants\";\n\nexport type AuthContext = {\n PlayFabId: string | null;\n EntityId: string | null;\n EntityType: string | null;\n SessionTicket: string | null;\n EntityToken: string | null;\n};\n\nexport class PlayFabContext {\n private static _instance: PlayFabContext;\n\n settings: ISettings = constants.defaultSettings;\n\n authenticationContext: AuthContext = {\n PlayFabId: null,\n EntityId: null,\n EntityType: null,\n SessionTicket: null,\n EntityToken: null,\n };\n\n sessionTicket: string | null = null;\n\n entityToken: string | null = null;\n\n private constructor() {}\n\n public static get instance(): PlayFabContext {\n if (!PlayFabContext._instance) {\n PlayFabContext._instance = new PlayFabContext();\n }\n\n return PlayFabContext._instance;\n }\n}\n","import constants, { ISettings, AuthInfoMap } from \"./constants\";\nimport { AuthContext, PlayFabContext } from \"./PlayFabContext\";\nimport { IPlayFabError, IPlayFabResultCommon } from \"./types/PlayFab\";\n\nexport class PlayFabCommon {\n buildIdentifier: string = constants.buildIdentifier;\n requestGetParams = {\n sdk: constants.sdkFingerprint,\n } as const;\n errorTitleId = \"Must be have settings.titleId set to call this method\";\n errorLoggedIn = \"Must be logged in to call this method\";\n errorEntityToken =\n \"You must successfully call GetEntityToken before calling this\";\n errorSecretKey =\n \"Must have settings.developerSecretKey set to call this method\";\n private _context = PlayFabContext.instance;\n\n constructor(settings: Partial<ISettings> | undefined = undefined) {\n if (settings) {\n Object.assign(this._context.settings, settings);\n }\n }\n\n get settings() {\n return this._context.settings;\n }\n\n get authenticationContext() {\n return this._context.authenticationContext;\n }\n\n get sessionTicket() {\n return this._context.sessionTicket;\n }\n\n set sessionTicket(value: string | null) {\n this._context.sessionTicket = value;\n }\n\n get entityToken() {\n return this._context.entityToken;\n }\n\n set entityToken(value: string | null) {\n this._context.entityToken = value;\n }\n\n GetServerUrl() {\n if (!(this.settings.productionServerUrl.substring(0, 4) === \"http\")) {\n return `https://${this.settings.verticalName || this.settings.titleId}${\n this.settings.productionServerUrl\n }`;\n } else {\n return this.settings.productionServerUrl;\n }\n }\n\n InjectHeaders(\n xhr: XMLHttpRequest,\n headersObj: Record<string, string> | undefined\n ) {\n if (!headersObj) return;\n\n for (const headerKey in headersObj) {\n try {\n xhr.setRequestHeader(headerKey, headersObj[headerKey]);\n } catch (e) {\n console.log(\n `Failed to append header: ${headerKey} = ${headersObj[headerKey]} Error: ${e}`\n );\n }\n }\n }\n\n ExecuteRequest<T extends IPlayFabResultCommon>(\n url: string,\n body: any,\n authkey: string | null,\n authValue: string | null,\n customData: any,\n extraHeaders?: Record<string, string>\n ): Promise<T> {\n return new Promise((resolve, reject) => {\n if (body == null) body = {};\n\n var startTime = new Date().getTime();\n var requestBody = JSON.stringify(body);\n\n var urlArr = [url];\n var getParams = this.requestGetParams;\n if (getParams != null) {\n var firstParam = true;\n for (var key in getParams) {\n if (firstParam) {\n urlArr.push(\"?\");\n firstParam = false;\n } else {\n urlArr.push(\"&\");\n }\n urlArr.push(key);\n urlArr.push(\"=\");\n urlArr.push(getParams[key as keyof typeof getParams]);\n }\n }\n\n var completeUrl = urlArr.join(\"\");\n\n var xhr = new XMLHttpRequest();\n xhr.open(\"POST\", completeUrl, true);\n\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\n \"X-PlayFabSDK\",\n \"JavaScriptSDK-\" + constants.sdkVersion\n );\n if (authkey != null) {\n xhr.setRequestHeader(authkey, authValue!);\n }\n this.InjectHeaders(xhr, this.settings.GlobalHeaderInjection);\n this.InjectHeaders(xhr, extraHeaders);\n\n xhr.onloadend = () => {\n var result = this.GetPlayFabResponse(body, xhr, startTime, customData);\n if (result.code === 200) {\n resolve(result.data || result);\n } else {\n reject(result);\n }\n };\n\n xhr.onerror = () => {\n var result = this.GetPlayFabResponse(body, xhr, startTime, customData);\n reject(result);\n };\n\n xhr.send(requestBody);\n });\n }\n\n GetPlayFabResponse(\n request: any,\n xhr: XMLHttpRequest,\n startTime: number,\n customData: any\n ) {\n var result = null as any;\n try {\n // window.console.log(\"parsing json result: \" + xhr.responseText);\n result = JSON.parse(xhr.responseText);\n } catch (e) {\n result = {\n code: 503, // Service Unavailable\n status: \"Service Unavailable\",\n error: \"Connection error\",\n errorCode: 2, // PlayFabErrorCode.ConnectionError\n errorMessage: xhr.responseText,\n };\n }\n\n result.CallBackTimeMS = new Date().getTime() - startTime;\n result.Request = request;\n result.CustomData = customData;\n return result;\n }\n\n UpdateAuthenticationContext(currentAuthContext: AuthContext, result: any) {\n var authenticationContextUpdates = {} as AuthContext;\n if (result?.PlayFabId) {\n authenticationContextUpdates.PlayFabId = result.PlayFabId;\n }\n if (result?.SessionTicket) {\n authenticationContextUpdates.SessionTicket = result.SessionTicket;\n }\n if (result?.EntityToken) {\n authenticationContextUpdates.EntityId = result.EntityToken.Entity.Id;\n authenticationContextUpdates.EntityType = result.EntityToken.Entity.Type;\n authenticationContextUpdates.EntityToken = result.EntityToken.EntityToken;\n }\n // Update the authenticationContext with values from the result\n currentAuthContext = Object.assign(\n currentAuthContext,\n authenticationContextUpdates\n );\n\n this._context.authenticationContext = currentAuthContext;\n\n return currentAuthContext;\n }\n\n GetAuthInfo(request: any, authKey: string) {\n // Use the most-recently saved authKey, unless one was provided in the request via the AuthenticationContext\n var authError = AuthInfoMap[authKey as keyof typeof AuthInfoMap].authError;\n var authAttr = AuthInfoMap[authKey as keyof typeof AuthInfoMap].authAttr;\n var defaultAuthValue: string | null = null;\n if (authAttr === \"entityToken\") defaultAuthValue = this.entityToken;\n else if (authAttr === \"sessionTicket\")\n defaultAuthValue = this.sessionTicket;\n else if (authAttr === \"developerSecretKey\")\n defaultAuthValue = this.settings.developerSecretKey;\n var authValue = request.AuthenticationContext\n ? request.AuthenticationContext[authAttr]\n : defaultAuthValue;\n return { authKey, authValue, authError };\n }\n\n ExecuteRequestWrapper<T extends IPlayFabResultCommon>(\n apiURL: string,\n request: any,\n authKey: string | null,\n customData: any,\n extraHeaders?: Record<string, string>\n ) {\n var authValue = null;\n if (authKey !== null) {\n const { authError, ...authInfo } = this.GetAuthInfo(request, authKey);\n authKey = authInfo.authKey;\n authValue = authInfo.authValue;\n if (!authValue) throw authError;\n }\n return this.ExecuteRequest<T>(\n this.GetServerUrl() + apiURL,\n request,\n authKey,\n authValue,\n customData,\n extraHeaders\n );\n }\n\n GenerateErrorReport(error: IPlayFabError | null): string {\n if (error == null) return \"\";\n var fullErrors = error.errorMessage;\n for (var paramName in error.errorDetails)\n for (var msgIdx in error.errorDetails[paramName])\n fullErrors +=\n \"\\n\" + paramName + \": \" + error.errorDetails[paramName][msgIdx];\n return fullErrors;\n }\n\n ForgetAllCredentials() {\n this._context.sessionTicket = null;\n this._context.entityToken = null;\n }\n}\n"],"mappings":"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","names":[]}
|