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.
Files changed (71) hide show
  1. package/dist/Addon.d.mts +591 -0
  2. package/dist/Addon.js.map +1 -0
  3. package/dist/Addon.mjs +452 -0
  4. package/dist/Addon.mjs.map +1 -0
  5. package/dist/Admin.d.mts +3484 -0
  6. package/dist/Admin.js.map +1 -0
  7. package/dist/Admin.mjs +1112 -0
  8. package/dist/Admin.mjs.map +1 -0
  9. package/dist/Authentication.d.mts +109 -0
  10. package/dist/Authentication.js.map +1 -0
  11. package/dist/Authentication.mjs +290 -0
  12. package/dist/Authentication.mjs.map +1 -0
  13. package/dist/Client.d.mts +4482 -0
  14. package/dist/Client.js.map +1 -0
  15. package/dist/Client.mjs +1893 -0
  16. package/dist/Client.mjs.map +1 -0
  17. package/dist/CloudScript.d.mts +511 -0
  18. package/dist/CloudScript.js.map +1 -0
  19. package/dist/CloudScript.mjs +349 -0
  20. package/dist/CloudScript.mjs.map +1 -0
  21. package/dist/Data.d.mts +228 -0
  22. package/dist/Data.js.map +1 -0
  23. package/dist/Data.mjs +291 -0
  24. package/dist/Data.mjs.map +1 -0
  25. package/dist/Economy.d.mts +1865 -0
  26. package/dist/Economy.js.map +1 -0
  27. package/dist/Economy.mjs +614 -0
  28. package/dist/Economy.mjs.map +1 -0
  29. package/dist/Events.d.mts +307 -0
  30. package/dist/Events.js.map +1 -0
  31. package/dist/Events.mjs +327 -0
  32. package/dist/Events.mjs.map +1 -0
  33. package/dist/Experimentation.d.mts +357 -0
  34. package/dist/Experimentation.js.map +1 -0
  35. package/dist/Experimentation.mjs +333 -0
  36. package/dist/Experimentation.mjs.map +1 -0
  37. package/dist/Groups.d.mts +546 -0
  38. package/dist/Groups.js.map +1 -0
  39. package/dist/Groups.mjs +417 -0
  40. package/dist/Groups.mjs.map +1 -0
  41. package/dist/Insights.d.mts +141 -0
  42. package/dist/Insights.js.map +1 -0
  43. package/dist/Insights.mjs +286 -0
  44. package/dist/Insights.mjs.map +1 -0
  45. package/dist/Localization.d.mts +20 -0
  46. package/dist/Localization.js.map +1 -0
  47. package/dist/Localization.mjs +249 -0
  48. package/dist/Localization.mjs.map +1 -0
  49. package/dist/Multiplayer.d.mts +3059 -0
  50. package/dist/Multiplayer.js.map +1 -0
  51. package/dist/Multiplayer.mjs +862 -0
  52. package/dist/Multiplayer.mjs.map +1 -0
  53. package/dist/PlayFabCommon-BUv4zqXf.d.mts +72 -0
  54. package/dist/Profiles.d.mts +278 -0
  55. package/dist/Profiles.js.map +1 -0
  56. package/dist/Profiles.mjs +306 -0
  57. package/dist/Profiles.mjs.map +1 -0
  58. package/dist/Progression.d.mts +598 -0
  59. package/dist/Progression.js.map +1 -0
  60. package/dist/Progression.mjs +404 -0
  61. package/dist/Progression.mjs.map +1 -0
  62. package/dist/Server.d.mts +3889 -0
  63. package/dist/Server.js.map +1 -0
  64. package/dist/Server.mjs +1377 -0
  65. package/dist/Server.mjs.map +1 -0
  66. package/dist/index.d.mts +17 -0
  67. package/dist/index.js.map +1 -0
  68. package/dist/index.mjs +6007 -0
  69. package/dist/index.mjs.map +1 -0
  70. package/package.json +22 -0
  71. package/readme.md +25 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/constants.ts","../src/PlayFabContext.ts","../src/PlayFabCommon.ts","../src/apis/PlayFabMultiplayerApi.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 { EmptyResponse } from \"../types/PlayFab\";\nimport type {\n\n CancelAllMatchmakingTicketsForPlayerRequest,\n CancelAllServerBackfillTicketsForPlayerRequest,\n CancelMatchmakingTicketRequest,\n CancelServerBackfillTicketRequest,\n CreateBuildAliasRequest,\n CreateBuildWithCustomContainerRequest,\n CreateBuildWithManagedContainerRequest,\n CreateBuildWithProcessBasedServerRequest,\n CreateLobbyRequest,\n CreateMatchmakingTicketRequest,\n CreateRemoteUserRequest,\n CreateServerBackfillTicketRequest,\n CreateServerMatchmakingTicketRequest,\n CreateTitleMultiplayerServersQuotaChangeRequest,\n DeleteAssetRequest,\n DeleteBuildRequest,\n DeleteBuildAliasRequest,\n DeleteBuildRegionRequest,\n DeleteCertificateRequest,\n DeleteContainerImageRequest,\n DeleteLobbyRequest,\n DeleteRemoteUserRequest,\n DeleteSecretRequest,\n EnableMultiplayerServersForTitleRequest,\n FindFriendLobbiesRequest,\n FindLobbiesRequest,\n GetAssetDownloadUrlRequest,\n GetAssetUploadUrlRequest,\n GetBuildRequest,\n GetBuildAliasRequest,\n GetContainerRegistryCredentialsRequest,\n GetLobbyRequest,\n GetMatchRequest,\n GetMatchmakingQueueRequest,\n GetMatchmakingTicketRequest,\n GetMultiplayerServerDetailsRequest,\n GetMultiplayerServerLogsRequest,\n GetMultiplayerSessionLogsBySessionIdRequest,\n GetQueueStatisticsRequest,\n GetRemoteLoginEndpointRequest,\n GetServerBackfillTicketRequest,\n GetTitleEnabledForMultiplayerServersStatusRequest,\n GetTitleMultiplayerServersQuotaChangeRequest,\n GetTitleMultiplayerServersQuotasRequest,\n InviteToLobbyRequest,\n JoinArrangedLobbyRequest,\n JoinLobbyRequest,\n JoinLobbyAsServerRequest,\n JoinMatchmakingTicketRequest,\n LeaveLobbyRequest,\n LeaveLobbyAsServerRequest,\n ListMultiplayerServersRequest,\n ListAssetSummariesRequest,\n ListBuildAliasesRequest,\n ListBuildSummariesRequest,\n ListCertificateSummariesRequest,\n ListContainerImagesRequest,\n ListContainerImageTagsRequest,\n ListMatchmakingQueuesRequest,\n ListMatchmakingTicketsForPlayerRequest,\n ListPartyQosServersRequest,\n ListQosServersForTitleRequest,\n ListSecretSummariesRequest,\n ListServerBackfillTicketsForPlayerRequest,\n ListTitleMultiplayerServersQuotaChangesRequest,\n ListVirtualMachineSummariesRequest,\n RemoveMatchmakingQueueRequest,\n RemoveMemberFromLobbyRequest,\n RequestMultiplayerServerRequest,\n RequestPartyServiceRequest,\n RolloverContainerRegistryCredentialsRequest,\n SetMatchmakingQueueRequest,\n ShutdownMultiplayerServerRequest,\n SubscribeToLobbyResourceRequest,\n SubscribeToMatchResourceRequest,\n UnsubscribeFromLobbyResourceRequest,\n UnsubscribeFromMatchResourceRequest,\n UntagContainerImageRequest,\n UpdateBuildAliasRequest,\n UpdateBuildNameRequest,\n UpdateBuildRegionRequest,\n UpdateBuildRegionsRequest,\n UpdateLobbyRequest,\n UpdateLobbyAsServerRequest,\n UploadCertificateRequest,\n UploadSecretRequest,\n CancelAllMatchmakingTicketsForPlayerResult,\n CancelAllServerBackfillTicketsForPlayerResult,\n CancelMatchmakingTicketResult,\n CancelServerBackfillTicketResult,\n BuildAliasDetailsResponse,\n CreateBuildWithCustomContainerResponse,\n CreateBuildWithManagedContainerResponse,\n CreateBuildWithProcessBasedServerResponse,\n CreateLobbyResult,\n CreateMatchmakingTicketResult,\n CreateRemoteUserResponse,\n CreateServerBackfillTicketResult,\n CreateTitleMultiplayerServersQuotaChangeResponse,\n LobbyEmptyResult,\n EnableMultiplayerServersForTitleResponse,\n FindFriendLobbiesResult,\n FindLobbiesResult,\n GetAssetDownloadUrlResponse,\n GetAssetUploadUrlResponse,\n GetBuildResponse,\n GetContainerRegistryCredentialsResponse,\n GetLobbyResult,\n GetMatchResult,\n GetMatchmakingQueueResult,\n GetMatchmakingTicketResult,\n GetMultiplayerServerDetailsResponse,\n GetMultiplayerServerLogsResponse,\n GetQueueStatisticsResult,\n GetRemoteLoginEndpointResponse,\n GetServerBackfillTicketResult,\n GetTitleEnabledForMultiplayerServersStatusResponse,\n GetTitleMultiplayerServersQuotaChangeResponse,\n GetTitleMultiplayerServersQuotasResponse,\n JoinLobbyResult,\n JoinLobbyAsServerResult,\n JoinMatchmakingTicketResult,\n ListMultiplayerServersResponse,\n ListAssetSummariesResponse,\n ListBuildAliasesResponse,\n ListBuildSummariesResponse,\n ListCertificateSummariesResponse,\n ListContainerImagesResponse,\n ListContainerImageTagsResponse,\n ListMatchmakingQueuesResult,\n ListMatchmakingTicketsForPlayerResult,\n ListPartyQosServersResponse,\n ListQosServersForTitleResponse,\n ListSecretSummariesResponse,\n ListServerBackfillTicketsForPlayerResult,\n ListTitleMultiplayerServersQuotaChangesResponse,\n ListVirtualMachineSummariesResponse,\n RemoveMatchmakingQueueResult,\n RequestMultiplayerServerResponse,\n RequestPartyServiceResponse,\n RolloverContainerRegistryCredentialsResponse,\n SetMatchmakingQueueResult,\n SubscribeToLobbyResourceResult,\n SubscribeToMatchResourceResult,\n UnsubscribeFromMatchResourceResult,\n} from \"../types/PlayFabMultiplayerApi\";\nimport { PlayFabCommon } from \"../PlayFabCommon\";\n\nexport default class PlayFabMultiplayerApi extends PlayFabCommon {\n\n /**\n * Cancel all active tickets the player is a member of in a given queue.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/cancelallmatchmakingticketsforplayer\n */\n CancelAllMatchmakingTicketsForPlayer (request: CancelAllMatchmakingTicketsForPlayerRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<CancelAllMatchmakingTicketsForPlayerResult>(\"/Match/CancelAllMatchmakingTicketsForPlayer\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Cancel all active backfill tickets the player is a member of in a given queue.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/cancelallserverbackfillticketsforplayer\n */\n CancelAllServerBackfillTicketsForPlayer (request: CancelAllServerBackfillTicketsForPlayerRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<CancelAllServerBackfillTicketsForPlayerResult>(\"/Match/CancelAllServerBackfillTicketsForPlayer\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Cancel a matchmaking ticket.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/cancelmatchmakingticket\n */\n CancelMatchmakingTicket (request: CancelMatchmakingTicketRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<CancelMatchmakingTicketResult>(\"/Match/CancelMatchmakingTicket\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Cancel a server backfill ticket.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/cancelserverbackfillticket\n */\n CancelServerBackfillTicket (request: CancelServerBackfillTicketRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<CancelServerBackfillTicketResult>(\"/Match/CancelServerBackfillTicket\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Creates a multiplayer server build alias.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/createbuildalias\n */\n CreateBuildAlias (request: CreateBuildAliasRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<BuildAliasDetailsResponse>(\"/MultiplayerServer/CreateBuildAlias\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Creates a multiplayer server build with a custom container.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/createbuildwithcustomcontainer\n */\n CreateBuildWithCustomContainer (request: CreateBuildWithCustomContainerRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<CreateBuildWithCustomContainerResponse>(\"/MultiplayerServer/CreateBuildWithCustomContainer\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Creates a multiplayer server build with a managed container.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/createbuildwithmanagedcontainer\n */\n CreateBuildWithManagedContainer (request: CreateBuildWithManagedContainerRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<CreateBuildWithManagedContainerResponse>(\"/MultiplayerServer/CreateBuildWithManagedContainer\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Creates a multiplayer server build with the server running as a process.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/createbuildwithprocessbasedserver\n */\n CreateBuildWithProcessBasedServer (request: CreateBuildWithProcessBasedServerRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<CreateBuildWithProcessBasedServerResponse>(\"/MultiplayerServer/CreateBuildWithProcessBasedServer\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Create a lobby.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/lobby/createlobby\n */\n CreateLobby (request: CreateLobbyRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<CreateLobbyResult>(\"/Lobby/CreateLobby\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Create a matchmaking ticket as a client.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/creatematchmakingticket\n */\n CreateMatchmakingTicket (request: CreateMatchmakingTicketRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<CreateMatchmakingTicketResult>(\"/Match/CreateMatchmakingTicket\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Creates a remote user to log on to a VM for a multiplayer server build.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/createremoteuser\n */\n CreateRemoteUser (request: CreateRemoteUserRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<CreateRemoteUserResponse>(\"/MultiplayerServer/CreateRemoteUser\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Create a backfill matchmaking ticket as a server. A backfill ticket represents an ongoing game. The matchmaking service\n * automatically starts matching the backfill ticket against other matchmaking tickets. Backfill tickets cannot match with\n * other backfill tickets.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/createserverbackfillticket\n */\n CreateServerBackfillTicket (request: CreateServerBackfillTicketRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<CreateServerBackfillTicketResult>(\"/Match/CreateServerBackfillTicket\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Create a matchmaking ticket as a server. The matchmaking service automatically starts matching the ticket against other\n * matchmaking tickets.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/createservermatchmakingticket\n */\n CreateServerMatchmakingTicket (request: CreateServerMatchmakingTicketRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<CreateMatchmakingTicketResult>(\"/Match/CreateServerMatchmakingTicket\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Creates a request to change a title's multiplayer server quotas.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/createtitlemultiplayerserversquotachange\n */\n CreateTitleMultiplayerServersQuotaChange (request: CreateTitleMultiplayerServersQuotaChangeRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<CreateTitleMultiplayerServersQuotaChangeResponse>(\"/MultiplayerServer/CreateTitleMultiplayerServersQuotaChange\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Deletes a multiplayer server game asset for a title.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/deleteasset\n */\n DeleteAsset (request: DeleteAssetRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<EmptyResponse>(\"/MultiplayerServer/DeleteAsset\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Deletes a multiplayer server build.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/deletebuild\n */\n DeleteBuild (request: DeleteBuildRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<EmptyResponse>(\"/MultiplayerServer/DeleteBuild\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Deletes a multiplayer server build alias.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/deletebuildalias\n */\n DeleteBuildAlias (request: DeleteBuildAliasRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<EmptyResponse>(\"/MultiplayerServer/DeleteBuildAlias\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Removes a multiplayer server build's region.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/deletebuildregion\n */\n DeleteBuildRegion (request: DeleteBuildRegionRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<EmptyResponse>(\"/MultiplayerServer/DeleteBuildRegion\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Deletes a multiplayer server game certificate.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/deletecertificate\n */\n DeleteCertificate (request: DeleteCertificateRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<EmptyResponse>(\"/MultiplayerServer/DeleteCertificate\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Deletes a container image repository.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/deletecontainerimagerepository\n */\n DeleteContainerImageRepository (request: DeleteContainerImageRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<EmptyResponse>(\"/MultiplayerServer/DeleteContainerImageRepository\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Delete a lobby.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/lobby/deletelobby\n */\n DeleteLobby (request: DeleteLobbyRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<LobbyEmptyResult>(\"/Lobby/DeleteLobby\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Deletes a remote user to log on to a VM for a multiplayer server build.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/deleteremoteuser\n */\n DeleteRemoteUser (request: DeleteRemoteUserRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<EmptyResponse>(\"/MultiplayerServer/DeleteRemoteUser\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Deletes a multiplayer server game secret.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/deletesecret\n */\n DeleteSecret (request: DeleteSecretRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<EmptyResponse>(\"/MultiplayerServer/DeleteSecret\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Enables the multiplayer server feature for a title.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/enablemultiplayerserversfortitle\n */\n EnableMultiplayerServersForTitle (request: EnableMultiplayerServersForTitleRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<EnableMultiplayerServersForTitleResponse>(\"/MultiplayerServer/EnableMultiplayerServersForTitle\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Find lobbies which match certain criteria, and which friends are in.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/lobby/findfriendlobbies\n */\n FindFriendLobbies (request: FindFriendLobbiesRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<FindFriendLobbiesResult>(\"/Lobby/FindFriendLobbies\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Find all the lobbies that match certain criteria.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/lobby/findlobbies\n */\n FindLobbies (request: FindLobbiesRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<FindLobbiesResult>(\"/Lobby/FindLobbies\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Gets a URL that can be used to download the specified asset. A sample pre-authenticated url -\n * https://sampleStorageAccount.blob.core.windows.net/gameassets/gameserver.zip?sv=2015-04-05&ss=b&srt=sco&sp=rw&st=startDate&se=endDate&spr=https&sig=sampleSig&api-version=2017-07-29\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/getassetdownloadurl\n */\n GetAssetDownloadUrl (request: GetAssetDownloadUrlRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<GetAssetDownloadUrlResponse>(\"/MultiplayerServer/GetAssetDownloadUrl\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Gets the URL to upload assets to. A sample pre-authenticated url -\n * https://sampleStorageAccount.blob.core.windows.net/gameassets/gameserver.zip?sv=2015-04-05&ss=b&srt=sco&sp=rw&st=startDate&se=endDate&spr=https&sig=sampleSig&api-version=2017-07-29\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/getassetuploadurl\n */\n GetAssetUploadUrl (request: GetAssetUploadUrlRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<GetAssetUploadUrlResponse>(\"/MultiplayerServer/GetAssetUploadUrl\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Gets a multiplayer server build.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/getbuild\n */\n GetBuild (request: GetBuildRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<GetBuildResponse>(\"/MultiplayerServer/GetBuild\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Gets a multiplayer server build alias.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/getbuildalias\n */\n GetBuildAlias (request: GetBuildAliasRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<BuildAliasDetailsResponse>(\"/MultiplayerServer/GetBuildAlias\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Gets the credentials to the container registry.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/getcontainerregistrycredentials\n */\n GetContainerRegistryCredentials (request: GetContainerRegistryCredentialsRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<GetContainerRegistryCredentialsResponse>(\"/MultiplayerServer/GetContainerRegistryCredentials\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Get a lobby.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/lobby/getlobby\n */\n GetLobby (request: GetLobbyRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<GetLobbyResult>(\"/Lobby/GetLobby\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Get a match.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/getmatch\n */\n GetMatch (request: GetMatchRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<GetMatchResult>(\"/Match/GetMatch\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * SDK support is limited to C# and Java for this API. Get a matchmaking queue configuration.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking-admin/getmatchmakingqueue\n */\n GetMatchmakingQueue (request: GetMatchmakingQueueRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<GetMatchmakingQueueResult>(\"/Match/GetMatchmakingQueue\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Get a matchmaking ticket by ticket Id.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/getmatchmakingticket\n */\n GetMatchmakingTicket (request: GetMatchmakingTicketRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<GetMatchmakingTicketResult>(\"/Match/GetMatchmakingTicket\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Gets multiplayer server session details for a build.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/getmultiplayerserverdetails\n */\n GetMultiplayerServerDetails (request: GetMultiplayerServerDetailsRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<GetMultiplayerServerDetailsResponse>(\"/MultiplayerServer/GetMultiplayerServerDetails\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Gets multiplayer server logs after a server has terminated.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/getmultiplayerserverlogs\n */\n GetMultiplayerServerLogs (request: GetMultiplayerServerLogsRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<GetMultiplayerServerLogsResponse>(\"/MultiplayerServer/GetMultiplayerServerLogs\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Gets multiplayer server logs after a server has terminated.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/getmultiplayersessionlogsbysessionid\n */\n GetMultiplayerSessionLogsBySessionId (request: GetMultiplayerSessionLogsBySessionIdRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<GetMultiplayerServerLogsResponse>(\"/MultiplayerServer/GetMultiplayerSessionLogsBySessionId\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Get the statistics for a queue.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/getqueuestatistics\n */\n GetQueueStatistics (request: GetQueueStatisticsRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<GetQueueStatisticsResult>(\"/Match/GetQueueStatistics\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Gets a remote login endpoint to a VM that is hosting a multiplayer server build.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/getremoteloginendpoint\n */\n GetRemoteLoginEndpoint (request: GetRemoteLoginEndpointRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<GetRemoteLoginEndpointResponse>(\"/MultiplayerServer/GetRemoteLoginEndpoint\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Get a matchmaking backfill ticket by ticket Id.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/getserverbackfillticket\n */\n GetServerBackfillTicket (request: GetServerBackfillTicketRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<GetServerBackfillTicketResult>(\"/Match/GetServerBackfillTicket\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Gets the status of whether a title is enabled for the multiplayer server feature.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/gettitleenabledformultiplayerserversstatus\n */\n GetTitleEnabledForMultiplayerServersStatus (request: GetTitleEnabledForMultiplayerServersStatusRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<GetTitleEnabledForMultiplayerServersStatusResponse>(\"/MultiplayerServer/GetTitleEnabledForMultiplayerServersStatus\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Gets a title's server quota change request.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/gettitlemultiplayerserversquotachange\n */\n GetTitleMultiplayerServersQuotaChange (request: GetTitleMultiplayerServersQuotaChangeRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<GetTitleMultiplayerServersQuotaChangeResponse>(\"/MultiplayerServer/GetTitleMultiplayerServersQuotaChange\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Gets the quotas for a title in relation to multiplayer servers.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/gettitlemultiplayerserversquotas\n */\n GetTitleMultiplayerServersQuotas (request: GetTitleMultiplayerServersQuotasRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<GetTitleMultiplayerServersQuotasResponse>(\"/MultiplayerServer/GetTitleMultiplayerServersQuotas\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Send a notification to invite a player to a lobby.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/lobby/invitetolobby\n */\n InviteToLobby (request: InviteToLobbyRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<LobbyEmptyResult>(\"/Lobby/InviteToLobby\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Join an Arranged lobby.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/lobby/joinarrangedlobby\n */\n JoinArrangedLobby (request: JoinArrangedLobbyRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<JoinLobbyResult>(\"/Lobby/JoinArrangedLobby\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Join a lobby.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/lobby/joinlobby\n */\n JoinLobby (request: JoinLobbyRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<JoinLobbyResult>(\"/Lobby/JoinLobby\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Preview: Join a lobby as a server entity. This is restricted to client lobbies which are using connections.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/lobby/joinlobbyasserver\n */\n JoinLobbyAsServer (request: JoinLobbyAsServerRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<JoinLobbyAsServerResult>(\"/Lobby/JoinLobbyAsServer\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Join a matchmaking ticket.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/joinmatchmakingticket\n */\n JoinMatchmakingTicket (request: JoinMatchmakingTicketRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<JoinMatchmakingTicketResult>(\"/Match/JoinMatchmakingTicket\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Leave a lobby.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/lobby/leavelobby\n */\n LeaveLobby (request: LeaveLobbyRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<LobbyEmptyResult>(\"/Lobby/LeaveLobby\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Preview: Request for server to leave a lobby. This is restricted to client owned lobbies which are using connections.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/lobby/leavelobbyasserver\n */\n LeaveLobbyAsServer (request: LeaveLobbyAsServerRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<LobbyEmptyResult>(\"/Lobby/LeaveLobbyAsServer\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Lists archived multiplayer server sessions for a build.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/listarchivedmultiplayerservers\n */\n ListArchivedMultiplayerServers (request: ListMultiplayerServersRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<ListMultiplayerServersResponse>(\"/MultiplayerServer/ListArchivedMultiplayerServers\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Lists multiplayer server game assets for a title.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/listassetsummaries\n */\n ListAssetSummaries (request: ListAssetSummariesRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<ListAssetSummariesResponse>(\"/MultiplayerServer/ListAssetSummaries\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Lists details of all build aliases for a title. Accepts tokens for title and if game client access is enabled, allows\n * game client to request list of builds with player entity token.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/listbuildaliases\n */\n ListBuildAliases (request: ListBuildAliasesRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<ListBuildAliasesResponse>(\"/MultiplayerServer/ListBuildAliases\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Lists summarized details of all multiplayer server builds for a title. Accepts tokens for title and if game client\n * access is enabled, allows game client to request list of builds with player entity token.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/listbuildsummariesv2\n */\n ListBuildSummariesV2 (request: ListBuildSummariesRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<ListBuildSummariesResponse>(\"/MultiplayerServer/ListBuildSummariesV2\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Lists multiplayer server game certificates for a title.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/listcertificatesummaries\n */\n ListCertificateSummaries (request: ListCertificateSummariesRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<ListCertificateSummariesResponse>(\"/MultiplayerServer/ListCertificateSummaries\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Lists custom container images for a title.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/listcontainerimages\n */\n ListContainerImages (request: ListContainerImagesRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<ListContainerImagesResponse>(\"/MultiplayerServer/ListContainerImages\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Lists the tags for a custom container image.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/listcontainerimagetags\n */\n ListContainerImageTags (request: ListContainerImageTagsRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<ListContainerImageTagsResponse>(\"/MultiplayerServer/ListContainerImageTags\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * SDK support is limited to C# and Java for this API. List all matchmaking queue configs.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking-admin/listmatchmakingqueues\n */\n ListMatchmakingQueues (request: ListMatchmakingQueuesRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<ListMatchmakingQueuesResult>(\"/Match/ListMatchmakingQueues\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * List all matchmaking ticket Ids the user is a member of.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/listmatchmakingticketsforplayer\n */\n ListMatchmakingTicketsForPlayer (request: ListMatchmakingTicketsForPlayerRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<ListMatchmakingTicketsForPlayerResult>(\"/Match/ListMatchmakingTicketsForPlayer\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Lists multiplayer server sessions for a build.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/listmultiplayerservers\n */\n ListMultiplayerServers (request: ListMultiplayerServersRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<ListMultiplayerServersResponse>(\"/MultiplayerServer/ListMultiplayerServers\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Lists quality of service servers for party.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/listpartyqosservers\n */\n ListPartyQosServers (request: ListPartyQosServersRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<ListPartyQosServersResponse>(\"/MultiplayerServer/ListPartyQosServers\", request, null, customData, extraHeaders);\n }\n\n /**\n * Lists quality of service servers for the title. By default, servers are only returned for regions where a Multiplayer\n * Servers build has been deployed.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/listqosserversfortitle\n */\n ListQosServersForTitle (request: ListQosServersForTitleRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<ListQosServersForTitleResponse>(\"/MultiplayerServer/ListQosServersForTitle\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Lists multiplayer server game secrets for a title.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/listsecretsummaries\n */\n ListSecretSummaries (request: ListSecretSummariesRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<ListSecretSummariesResponse>(\"/MultiplayerServer/ListSecretSummaries\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * List all server backfill ticket Ids the user is a member of.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/listserverbackfillticketsforplayer\n */\n ListServerBackfillTicketsForPlayer (request: ListServerBackfillTicketsForPlayerRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<ListServerBackfillTicketsForPlayerResult>(\"/Match/ListServerBackfillTicketsForPlayer\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * List all server quota change requests for a title.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/listtitlemultiplayerserversquotachanges\n */\n ListTitleMultiplayerServersQuotaChanges (request: ListTitleMultiplayerServersQuotaChangesRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<ListTitleMultiplayerServersQuotaChangesResponse>(\"/MultiplayerServer/ListTitleMultiplayerServersQuotaChanges\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Lists virtual machines for a title.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/listvirtualmachinesummaries\n */\n ListVirtualMachineSummaries (request: ListVirtualMachineSummariesRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<ListVirtualMachineSummariesResponse>(\"/MultiplayerServer/ListVirtualMachineSummaries\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * SDK support is limited to C# and Java for this API. Remove a matchmaking queue config.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking-admin/removematchmakingqueue\n */\n RemoveMatchmakingQueue (request: RemoveMatchmakingQueueRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<RemoveMatchmakingQueueResult>(\"/Match/RemoveMatchmakingQueue\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Remove a member from a lobby.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/lobby/removemember\n */\n RemoveMember (request: RemoveMemberFromLobbyRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<LobbyEmptyResult>(\"/Lobby/RemoveMember\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Request a multiplayer server session. Accepts tokens for title and if game client access is enabled, allows game client\n * to request a server with player entity token.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/requestmultiplayerserver\n */\n RequestMultiplayerServer (request: RequestMultiplayerServerRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<RequestMultiplayerServerResponse>(\"/MultiplayerServer/RequestMultiplayerServer\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Request a party session.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/requestpartyservice\n */\n RequestPartyService (request: RequestPartyServiceRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<RequestPartyServiceResponse>(\"/Party/RequestPartyService\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Rolls over the credentials to the container registry.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/rollovercontainerregistrycredentials\n */\n RolloverContainerRegistryCredentials (request: RolloverContainerRegistryCredentialsRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<RolloverContainerRegistryCredentialsResponse>(\"/MultiplayerServer/RolloverContainerRegistryCredentials\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * SDK support is limited to C# and Java for this API. Create or update a matchmaking queue configuration.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking-admin/setmatchmakingqueue\n */\n SetMatchmakingQueue (request: SetMatchmakingQueueRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<SetMatchmakingQueueResult>(\"/Match/SetMatchmakingQueue\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Shuts down a multiplayer server session.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/shutdownmultiplayerserver\n */\n ShutdownMultiplayerServer (request: ShutdownMultiplayerServerRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<EmptyResponse>(\"/MultiplayerServer/ShutdownMultiplayerServer\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Subscribe to lobby resource notifications.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/lobby/subscribetolobbyresource\n */\n SubscribeToLobbyResource (request: SubscribeToLobbyResourceRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<SubscribeToLobbyResourceResult>(\"/Lobby/SubscribeToLobbyResource\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Subscribe to match resource notifications.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/subscribetomatchmakingresource\n */\n SubscribeToMatchmakingResource (request: SubscribeToMatchResourceRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<SubscribeToMatchResourceResult>(\"/Match/SubscribeToMatchmakingResource\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Unsubscribe from lobby notifications.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/lobby/unsubscribefromlobbyresource\n */\n UnsubscribeFromLobbyResource (request: UnsubscribeFromLobbyResourceRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<LobbyEmptyResult>(\"/Lobby/UnsubscribeFromLobbyResource\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Unsubscribe from match resource notifications.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/unsubscribefrommatchmakingresource\n */\n UnsubscribeFromMatchmakingResource (request: UnsubscribeFromMatchResourceRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<UnsubscribeFromMatchResourceResult>(\"/Match/UnsubscribeFromMatchmakingResource\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Untags a container image.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/untagcontainerimage\n */\n UntagContainerImage (request: UntagContainerImageRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<EmptyResponse>(\"/MultiplayerServer/UntagContainerImage\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Creates a multiplayer server build alias.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/updatebuildalias\n */\n UpdateBuildAlias (request: UpdateBuildAliasRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<BuildAliasDetailsResponse>(\"/MultiplayerServer/UpdateBuildAlias\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Updates a multiplayer server build's name.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/updatebuildname\n */\n UpdateBuildName (request: UpdateBuildNameRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<EmptyResponse>(\"/MultiplayerServer/UpdateBuildName\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Updates a multiplayer server build's region. If the region is not yet created, it will be created\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/updatebuildregion\n */\n UpdateBuildRegion (request: UpdateBuildRegionRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<EmptyResponse>(\"/MultiplayerServer/UpdateBuildRegion\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Updates a multiplayer server build's regions.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/updatebuildregions\n */\n UpdateBuildRegions (request: UpdateBuildRegionsRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<EmptyResponse>(\"/MultiplayerServer/UpdateBuildRegions\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Update a lobby.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/lobby/updatelobby\n */\n UpdateLobby (request: UpdateLobbyRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<LobbyEmptyResult>(\"/Lobby/UpdateLobby\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Preview: Update fields related to a joined server in the lobby the server is in. Servers can keep a lobby from expiring\n * by being the one to \"update\" the lobby in some way. Servers have no impact on last member leave/last member disconnect\n * behavior.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/lobby/updatelobbyasserver\n */\n UpdateLobbyAsServer (request: UpdateLobbyAsServerRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<LobbyEmptyResult>(\"/Lobby/UpdateLobbyAsServer\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Uploads a multiplayer server game certificate.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/uploadcertificate\n */\n UploadCertificate (request: UploadCertificateRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<EmptyResponse>(\"/MultiplayerServer/UploadCertificate\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Uploads a multiplayer server game secret.\n * https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/uploadsecret\n */\n UploadSecret (request: UploadSecretRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<EmptyResponse>(\"/MultiplayerServer/UploadSecret\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n};\n"],"mappings":"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","names":[]}
@@ -0,0 +1,72 @@
1
+ interface IPlayFabRequestCommon {
2
+ }
3
+ interface IPlayFabError {
4
+ code: number;
5
+ status: string;
6
+ error: string;
7
+ errorCode: number;
8
+ errorMessage: string;
9
+ errorDetails?: Record<string, string[]>;
10
+ request?: any;
11
+ customData?: any;
12
+ retryAfterSeconds?: number;
13
+ }
14
+ interface IPlayFabResultCommon extends IPlayFabError {
15
+ }
16
+ interface EmptyResponse extends IPlayFabResultCommon {
17
+ }
18
+
19
+ interface ISettings {
20
+ /** You must set this value for PlayFabSdk to work properly (Found in the Game Manager for your title, at the PlayFab Website) */
21
+ titleId: string;
22
+ /** 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) */
23
+ developerSecretKey: string;
24
+ productionServerUrl: string;
25
+ GlobalHeaderInjection?: {
26
+ [key: string]: string;
27
+ };
28
+ /** The name of a customer vertical. This is only for customers running a private cluster. Generally you shouldn't touch this */
29
+ verticalName?: string | null;
30
+ }
31
+
32
+ type AuthContext = {
33
+ PlayFabId: string | null;
34
+ EntityId: string | null;
35
+ EntityType: string | null;
36
+ SessionTicket: string | null;
37
+ EntityToken: string | null;
38
+ };
39
+
40
+ declare class PlayFabCommon {
41
+ buildIdentifier: string;
42
+ requestGetParams: {
43
+ readonly sdk: string;
44
+ };
45
+ errorTitleId: string;
46
+ errorLoggedIn: string;
47
+ errorEntityToken: string;
48
+ errorSecretKey: string;
49
+ private _context;
50
+ constructor(settings?: Partial<ISettings> | undefined);
51
+ get settings(): ISettings;
52
+ get authenticationContext(): AuthContext;
53
+ get sessionTicket(): string | null;
54
+ set sessionTicket(value: string | null);
55
+ get entityToken(): string | null;
56
+ set entityToken(value: string | null);
57
+ GetServerUrl(): string;
58
+ InjectHeaders(xhr: XMLHttpRequest, headersObj: Record<string, string> | undefined): void;
59
+ ExecuteRequest<T extends IPlayFabResultCommon>(url: string, body: any, authkey: string | null, authValue: string | null, customData: any, extraHeaders?: Record<string, string>): Promise<T>;
60
+ GetPlayFabResponse(request: any, xhr: XMLHttpRequest, startTime: number, customData: any): any;
61
+ UpdateAuthenticationContext(currentAuthContext: AuthContext, result: any): AuthContext;
62
+ GetAuthInfo(request: any, authKey: string): {
63
+ authKey: string;
64
+ authValue: any;
65
+ authError: string;
66
+ };
67
+ ExecuteRequestWrapper<T extends IPlayFabResultCommon>(apiURL: string, request: any, authKey: string | null, customData: any, extraHeaders?: Record<string, string>): Promise<T>;
68
+ GenerateErrorReport(error: IPlayFabError | null): string;
69
+ ForgetAllCredentials(): void;
70
+ }
71
+
72
+ export { type EmptyResponse as E, type IPlayFabRequestCommon as I, PlayFabCommon as P, type IPlayFabResultCommon as a };
@@ -0,0 +1,278 @@
1
+ import { I as IPlayFabRequestCommon, a as IPlayFabResultCommon, P as PlayFabCommon } from './PlayFabCommon-BUv4zqXf.mjs';
2
+
3
+ interface EntityDataObject {
4
+ /** Un-escaped JSON object, if DataAsObject is true. */
5
+ DataObject?: any;
6
+ /** Escaped string JSON body of the object, if DataAsObject is default or false. */
7
+ EscapedDataObject?: string;
8
+ /** Name of this object. */
9
+ ObjectName?: string;
10
+ }
11
+ interface EntityKey {
12
+ /** Unique ID of the entity. */
13
+ Id: string;
14
+ /** Entity type. See https://docs.microsoft.com/gaming/playfab/features/data/entities/available-built-in-entity-types */
15
+ Type?: string;
16
+ }
17
+ interface EntityLineage {
18
+ /** The Character Id of the associated entity. */
19
+ CharacterId?: string;
20
+ /** The Group Id of the associated entity. */
21
+ GroupId?: string;
22
+ /** The Master Player Account Id of the associated entity. */
23
+ MasterPlayerAccountId?: string;
24
+ /** The Namespace Id of the associated entity. */
25
+ NamespaceId?: string;
26
+ /** The Title Id of the associated entity. */
27
+ TitleId?: string;
28
+ /** The Title Player Account Id of the associated entity. */
29
+ TitlePlayerAccountId?: string;
30
+ }
31
+ interface EntityPermissionStatement {
32
+ /** The action this statement effects. May be 'Read', 'Write' or '*' for both read and write. */
33
+ Action: string;
34
+ /** A comment about the statement. Intended solely for bookkeeping and debugging. */
35
+ Comment?: string;
36
+ /** Additional conditions to be applied for entity resources. */
37
+ Condition?: any;
38
+ /** The effect this statement will have. It may be either Allow or Deny */
39
+ Effect: string;
40
+ /** The principal this statement will effect. */
41
+ Principal: any;
42
+ /** The resource this statements effects. Similar to 'pfrn:data--title![Title ID]/Profile/*' */
43
+ Resource: string;
44
+ }
45
+ interface EntityProfileBody {
46
+ /** Avatar URL for the entity. */
47
+ AvatarUrl?: string;
48
+ /** The creation time of this profile in UTC. */
49
+ Created: string;
50
+ /**
51
+ * The display name of the entity. This field may serve different purposes for different entity types. i.e.: for a title
52
+ * player account it could represent the display name of the player, whereas on a character it could be character's name.
53
+ */
54
+ DisplayName?: string;
55
+ /** The entity id and type. */
56
+ Entity?: EntityKey;
57
+ /** The chain of responsibility for this entity. Use Lineage. */
58
+ EntityChain?: string;
59
+ /** The experiment variants of this profile. */
60
+ ExperimentVariants?: string[];
61
+ /** The files on this profile. */
62
+ Files?: Record<string, EntityProfileFileMetadata>;
63
+ /** The language on this profile. */
64
+ Language?: string;
65
+ /** The lineage of this profile. */
66
+ Lineage?: EntityLineage;
67
+ /** The objects on this profile. */
68
+ Objects?: Record<string, EntityDataObject>;
69
+ /**
70
+ * The permissions that govern access to this entity profile and its properties. Only includes permissions set on this
71
+ * profile, not global statements from titles and namespaces.
72
+ */
73
+ Permissions?: EntityPermissionStatement[];
74
+ /** The statistics on this profile. */
75
+ Statistics?: Record<string, EntityStatisticValue>;
76
+ /**
77
+ * The version number of the profile in persistent storage at the time of the read. Used for optional optimistic
78
+ * concurrency during update.
79
+ */
80
+ VersionNumber: number;
81
+ }
82
+ interface EntityProfileFileMetadata {
83
+ /** Checksum value for the file, can be used to check if the file on the server has changed. */
84
+ Checksum?: string;
85
+ /** Name of the file */
86
+ FileName?: string;
87
+ /** Last UTC time the file was modified */
88
+ LastModified: string;
89
+ /** Storage service's reported byte count */
90
+ Size: number;
91
+ }
92
+ interface EntityStatisticValue {
93
+ /** Metadata associated with the Statistic. */
94
+ Metadata?: string;
95
+ /** Statistic name */
96
+ Name?: string;
97
+ /** Statistic scores */
98
+ Scores?: string[];
99
+ /** Statistic version */
100
+ Version: number;
101
+ }
102
+ interface GetEntityProfileRequest extends IPlayFabRequestCommon {
103
+ /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
104
+ CustomTags?: Record<string, string | null>;
105
+ /**
106
+ * Determines whether the objects will be returned as an escaped JSON string or as a un-escaped JSON object. Default is
107
+ * JSON string.
108
+ */
109
+ DataAsObject?: boolean;
110
+ /** The optional entity to perform this action on. Defaults to the currently logged in entity. */
111
+ Entity?: EntityKey;
112
+ }
113
+ interface GetEntityProfileResponse extends IPlayFabResultCommon {
114
+ /** Entity profile */
115
+ Profile?: EntityProfileBody;
116
+ }
117
+ interface GetEntityProfilesRequest extends IPlayFabRequestCommon {
118
+ /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
119
+ CustomTags?: Record<string, string | null>;
120
+ /**
121
+ * Determines whether the objects will be returned as an escaped JSON string or as a un-escaped JSON object. Default is
122
+ * JSON string.
123
+ */
124
+ DataAsObject?: boolean;
125
+ /** Entity keys of the profiles to load. Must be between 1 and 25 */
126
+ Entities: EntityKey[];
127
+ }
128
+ interface GetEntityProfilesResponse extends IPlayFabResultCommon {
129
+ /** Entity profiles */
130
+ Profiles?: EntityProfileBody[];
131
+ }
132
+ interface GetGlobalPolicyRequest extends IPlayFabRequestCommon {
133
+ /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
134
+ CustomTags?: Record<string, string | null>;
135
+ /** The optional entity to perform this action on. Defaults to the currently logged in entity. */
136
+ Entity?: EntityKey;
137
+ }
138
+ interface GetGlobalPolicyResponse extends IPlayFabResultCommon {
139
+ /** The permissions that govern access to all entities under this title or namespace. */
140
+ Permissions?: EntityPermissionStatement[];
141
+ }
142
+ interface GetTitlePlayersFromMasterPlayerAccountIdsRequest extends IPlayFabRequestCommon {
143
+ /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
144
+ CustomTags?: Record<string, string | null>;
145
+ /** Master player account ids. */
146
+ MasterPlayerAccountIds: string[];
147
+ /** Id of title to get players from. */
148
+ TitleId?: string;
149
+ }
150
+ interface GetTitlePlayersFromMasterPlayerAccountIdsResponse extends IPlayFabResultCommon {
151
+ /** Optional id of title to get players from, required if calling using a master_player_account. */
152
+ TitleId?: string;
153
+ /** Dictionary of master player ids mapped to title player entity keys and id pairs */
154
+ TitlePlayerAccounts?: Record<string, EntityKey>;
155
+ }
156
+ interface GetTitlePlayersFromProviderIDsResponse extends IPlayFabResultCommon {
157
+ /**
158
+ * Dictionary of provider identifiers mapped to title_player_account lineage. Missing lineage indicates the player either
159
+ * doesn't exist or doesn't play the requested title.
160
+ */
161
+ TitlePlayerAccounts?: Record<string, EntityLineage>;
162
+ }
163
+ interface GetTitlePlayersFromXboxLiveIDsRequest extends IPlayFabRequestCommon {
164
+ /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
165
+ CustomTags?: Record<string, string | null>;
166
+ /** Xbox Sandbox the players had on their Xbox tokens. */
167
+ Sandbox: string;
168
+ /** Optional ID of title to get players from, required if calling using a master_player_account. */
169
+ TitleId?: string;
170
+ /** List of Xbox Live XUIDs */
171
+ XboxLiveIds: string[];
172
+ }
173
+ interface SetDisplayNameRequest extends IPlayFabRequestCommon {
174
+ /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
175
+ CustomTags?: Record<string, string | null>;
176
+ /** The new value to be set on Entity Profile's display name */
177
+ DisplayName?: string;
178
+ /** The optional entity to perform this action on. Defaults to the currently logged in entity. */
179
+ Entity?: EntityKey;
180
+ /** The expected version of a profile to perform this update on */
181
+ ExpectedVersion?: number;
182
+ }
183
+ interface SetDisplayNameResponse extends IPlayFabResultCommon {
184
+ /** The type of operation that occured on the profile's display name */
185
+ OperationResult?: string;
186
+ /** The updated version of the profile after the display name update */
187
+ VersionNumber?: number;
188
+ }
189
+ interface SetEntityProfilePolicyRequest extends IPlayFabRequestCommon {
190
+ /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
191
+ CustomTags?: Record<string, string | null>;
192
+ /** The entity to perform this action on. */
193
+ Entity: EntityKey;
194
+ /** The statements to include in the access policy. */
195
+ Statements: EntityPermissionStatement[];
196
+ }
197
+ interface SetEntityProfilePolicyResponse extends IPlayFabResultCommon {
198
+ /**
199
+ * The permissions that govern access to this entity profile and its properties. Only includes permissions set on this
200
+ * profile, not global statements from titles and namespaces.
201
+ */
202
+ Permissions?: EntityPermissionStatement[];
203
+ }
204
+ interface SetGlobalPolicyRequest extends IPlayFabRequestCommon {
205
+ /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
206
+ CustomTags?: Record<string, string | null>;
207
+ /** The permissions that govern access to all entities under this title or namespace. */
208
+ Permissions?: EntityPermissionStatement[];
209
+ }
210
+ interface SetGlobalPolicyResponse extends IPlayFabResultCommon {
211
+ }
212
+ interface SetProfileLanguageRequest extends IPlayFabRequestCommon {
213
+ /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
214
+ CustomTags?: Record<string, string | null>;
215
+ /** The optional entity to perform this action on. Defaults to the currently logged in entity. */
216
+ Entity?: EntityKey;
217
+ /** The expected version of a profile to perform this update on */
218
+ ExpectedVersion?: number;
219
+ /** The language to set on the given entity. Deletes the profile's language if passed in a null string. */
220
+ Language?: string;
221
+ }
222
+ interface SetProfileLanguageResponse extends IPlayFabResultCommon {
223
+ /** The type of operation that occured on the profile's language */
224
+ OperationResult?: string;
225
+ /** The updated version of the profile after the language update */
226
+ VersionNumber?: number;
227
+ }
228
+
229
+ declare class PlayFabProfilesApi extends PlayFabCommon {
230
+ /**
231
+ * Gets the global title access policy
232
+ * https://docs.microsoft.com/rest/api/playfab/profiles/account-management/getglobalpolicy
233
+ */
234
+ GetGlobalPolicy(request: GetGlobalPolicyRequest, customData?: any, extraHeaders?: Record<string, string>): Promise<GetGlobalPolicyResponse>;
235
+ /**
236
+ * Retrieves the entity's profile.
237
+ * https://docs.microsoft.com/rest/api/playfab/profiles/account-management/getprofile
238
+ */
239
+ GetProfile(request: GetEntityProfileRequest, customData?: any, extraHeaders?: Record<string, string>): Promise<GetEntityProfileResponse>;
240
+ /**
241
+ * Retrieves the entity's profile.
242
+ * https://docs.microsoft.com/rest/api/playfab/profiles/account-management/getprofiles
243
+ */
244
+ GetProfiles(request: GetEntityProfilesRequest, customData?: any, extraHeaders?: Record<string, string>): Promise<GetEntityProfilesResponse>;
245
+ /**
246
+ * Retrieves the title player accounts associated with the given master player account.
247
+ * https://docs.microsoft.com/rest/api/playfab/profiles/account-management/gettitleplayersfrommasterplayeraccountids
248
+ */
249
+ GetTitlePlayersFromMasterPlayerAccountIds(request: GetTitlePlayersFromMasterPlayerAccountIdsRequest, customData?: any, extraHeaders?: Record<string, string>): Promise<GetTitlePlayersFromMasterPlayerAccountIdsResponse>;
250
+ /**
251
+ * Retrieves the title player accounts associated with the given XUIDs.
252
+ * https://docs.microsoft.com/rest/api/playfab/profiles/account-management/gettitleplayersfromxboxliveids
253
+ */
254
+ GetTitlePlayersFromXboxLiveIDs(request: GetTitlePlayersFromXboxLiveIDsRequest, customData?: any, extraHeaders?: Record<string, string>): Promise<GetTitlePlayersFromProviderIDsResponse>;
255
+ /**
256
+ * Update the display name of the entity
257
+ * https://docs.microsoft.com/rest/api/playfab/profiles/account-management/setdisplayname
258
+ */
259
+ SetDisplayName(request: SetDisplayNameRequest, customData?: any, extraHeaders?: Record<string, string>): Promise<SetDisplayNameResponse>;
260
+ /**
261
+ * Sets the global title access policy
262
+ * https://docs.microsoft.com/rest/api/playfab/profiles/account-management/setglobalpolicy
263
+ */
264
+ SetGlobalPolicy(request: SetGlobalPolicyRequest, customData?: any, extraHeaders?: Record<string, string>): Promise<SetGlobalPolicyResponse>;
265
+ /**
266
+ * Updates the entity's language. The precedence hierarchy for communication to the player is Title Player Account
267
+ * language, Master Player Account language, and then title default language if the first two aren't set or supported.
268
+ * https://docs.microsoft.com/rest/api/playfab/profiles/account-management/setprofilelanguage
269
+ */
270
+ SetProfileLanguage(request: SetProfileLanguageRequest, customData?: any, extraHeaders?: Record<string, string>): Promise<SetProfileLanguageResponse>;
271
+ /**
272
+ * Sets the profiles access policy
273
+ * https://docs.microsoft.com/rest/api/playfab/profiles/account-management/setprofilepolicy
274
+ */
275
+ SetProfilePolicy(request: SetEntityProfilePolicyRequest, customData?: any, extraHeaders?: Record<string, string>): Promise<SetEntityProfilePolicyResponse>;
276
+ }
277
+
278
+ export { PlayFabProfilesApi as default };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/apis/PlayFabProfilesApi.ts","../src/constants.ts","../src/PlayFabContext.ts","../src/PlayFabCommon.ts"],"sourcesContent":["import type {\n\n GetGlobalPolicyRequest,\n GetEntityProfileRequest,\n GetEntityProfilesRequest,\n GetTitlePlayersFromMasterPlayerAccountIdsRequest,\n GetTitlePlayersFromXboxLiveIDsRequest,\n SetDisplayNameRequest,\n SetGlobalPolicyRequest,\n SetProfileLanguageRequest,\n SetEntityProfilePolicyRequest,\n GetGlobalPolicyResponse,\n GetEntityProfileResponse,\n GetEntityProfilesResponse,\n GetTitlePlayersFromMasterPlayerAccountIdsResponse,\n GetTitlePlayersFromProviderIDsResponse,\n SetDisplayNameResponse,\n SetGlobalPolicyResponse,\n SetProfileLanguageResponse,\n SetEntityProfilePolicyResponse,\n} from \"../types/PlayFabProfilesApi\";\nimport { PlayFabCommon } from \"../PlayFabCommon\";\n\nexport default class PlayFabProfilesApi extends PlayFabCommon {\n\n /**\n * Gets the global title access policy\n * https://docs.microsoft.com/rest/api/playfab/profiles/account-management/getglobalpolicy\n */\n GetGlobalPolicy (request: GetGlobalPolicyRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<GetGlobalPolicyResponse>(\"/Profile/GetGlobalPolicy\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Retrieves the entity's profile.\n * https://docs.microsoft.com/rest/api/playfab/profiles/account-management/getprofile\n */\n GetProfile (request: GetEntityProfileRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<GetEntityProfileResponse>(\"/Profile/GetProfile\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Retrieves the entity's profile.\n * https://docs.microsoft.com/rest/api/playfab/profiles/account-management/getprofiles\n */\n GetProfiles (request: GetEntityProfilesRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<GetEntityProfilesResponse>(\"/Profile/GetProfiles\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Retrieves the title player accounts associated with the given master player account.\n * https://docs.microsoft.com/rest/api/playfab/profiles/account-management/gettitleplayersfrommasterplayeraccountids\n */\n GetTitlePlayersFromMasterPlayerAccountIds (request: GetTitlePlayersFromMasterPlayerAccountIdsRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<GetTitlePlayersFromMasterPlayerAccountIdsResponse>(\"/Profile/GetTitlePlayersFromMasterPlayerAccountIds\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Retrieves the title player accounts associated with the given XUIDs.\n * https://docs.microsoft.com/rest/api/playfab/profiles/account-management/gettitleplayersfromxboxliveids\n */\n GetTitlePlayersFromXboxLiveIDs (request: GetTitlePlayersFromXboxLiveIDsRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<GetTitlePlayersFromProviderIDsResponse>(\"/Profile/GetTitlePlayersFromXboxLiveIDs\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Update the display name of the entity\n * https://docs.microsoft.com/rest/api/playfab/profiles/account-management/setdisplayname\n */\n SetDisplayName (request: SetDisplayNameRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<SetDisplayNameResponse>(\"/Profile/SetDisplayName\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Sets the global title access policy\n * https://docs.microsoft.com/rest/api/playfab/profiles/account-management/setglobalpolicy\n */\n SetGlobalPolicy (request: SetGlobalPolicyRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<SetGlobalPolicyResponse>(\"/Profile/SetGlobalPolicy\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Updates the entity's language. The precedence hierarchy for communication to the player is Title Player Account\n * language, Master Player Account language, and then title default language if the first two aren't set or supported.\n * https://docs.microsoft.com/rest/api/playfab/profiles/account-management/setprofilelanguage\n */\n SetProfileLanguage (request: SetProfileLanguageRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<SetProfileLanguageResponse>(\"/Profile/SetProfileLanguage\", request, \"X-EntityToken\", customData, extraHeaders);\n }\n\n /**\n * Sets the profiles access policy\n * https://docs.microsoft.com/rest/api/playfab/profiles/account-management/setprofilepolicy\n */\n SetProfilePolicy (request: SetEntityProfilePolicyRequest, customData?: any, extraHeaders?: Record<string, string>) {\n return this.ExecuteRequestWrapper<SetEntityProfilePolicyResponse>(\"/Profile/SetProfilePolicy\", 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":[]}