/* tslint:disable */ /* eslint-disable */ /** * Hathora Cloud API * Welcome to the Hathora Cloud API documentation! Learn how to use the Hathora Cloud APIs to build and scale your game servers globally. * * The version of the OpenAPI document: 0.0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import * as runtime from '../runtime'; import type { ApiError, Build, CreateBuildParams, } from '../models'; import { ApiErrorFromJSON, ApiErrorToJSON, BuildFromJSON, BuildToJSON, CreateBuildParamsFromJSON, CreateBuildParamsToJSON, } from '../models'; export interface CreateBuildDeprecatedRequest { appId: string; createBuildParams: CreateBuildParams; } export interface DeleteBuildDeprecatedRequest { appId: string; buildId: number; } export interface GetBuildInfoDeprecatedRequest { appId: string; buildId: number; } export interface GetBuildsDeprecatedRequest { appId: string; } export interface RunBuildDeprecatedRequest { appId: string; buildId: number; file: Blob; } /** * BuildV1Api - interface * * @export * @interface BuildV1ApiInterface */ export interface BuildV1ApiInterface { /** * Creates a new [build](https://hathora.dev/docs/concepts/hathora-entities#build). Responds with a `buildId` that you must pass to [`RunBuild()`](https://hathora.dev/api#tag/BuildV1/operation/RunBuild) to build the game server artifact. You can optionally pass in a `buildTag` to associate an external version with a build. * @param {string} appId * @param {CreateBuildParams} createBuildParams * @param {*} [options] Override http request option. * @deprecated * @throws {RequiredError} * @memberof BuildV1ApiInterface */ createBuildDeprecatedRaw(requestParameters: CreateBuildDeprecatedRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Creates a new [build](https://hathora.dev/docs/concepts/hathora-entities#build). Responds with a `buildId` that you must pass to [`RunBuild()`](https://hathora.dev/api#tag/BuildV1/operation/RunBuild) to build the game server artifact. You can optionally pass in a `buildTag` to associate an external version with a build. */ createBuildDeprecated(appId: string, createBuildParams: CreateBuildParams, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Delete a [build](https://hathora.dev/docs/concepts/hathora-entities#build). All associated metadata is deleted. * @param {string} appId * @param {number} buildId * @param {*} [options] Override http request option. * @deprecated * @throws {RequiredError} * @memberof BuildV1ApiInterface */ deleteBuildDeprecatedRaw(requestParameters: DeleteBuildDeprecatedRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Delete a [build](https://hathora.dev/docs/concepts/hathora-entities#build). All associated metadata is deleted. */ deleteBuildDeprecated(appId: string, buildId: number, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Get details for a [build](https://hathora.dev/docs/concepts/hathora-entities#build). * @param {string} appId * @param {number} buildId * @param {*} [options] Override http request option. * @deprecated * @throws {RequiredError} * @memberof BuildV1ApiInterface */ getBuildInfoDeprecatedRaw(requestParameters: GetBuildInfoDeprecatedRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Get details for a [build](https://hathora.dev/docs/concepts/hathora-entities#build). */ getBuildInfoDeprecated(appId: string, buildId: number, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Returns an array of [builds](https://hathora.dev/docs/concepts/hathora-entities#build) for an [application](https://hathora.dev/docs/concepts/hathora-entities#application). * @param {string} appId * @param {*} [options] Override http request option. * @deprecated * @throws {RequiredError} * @memberof BuildV1ApiInterface */ getBuildsDeprecatedRaw(requestParameters: GetBuildsDeprecatedRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>>; /** * Returns an array of [builds](https://hathora.dev/docs/concepts/hathora-entities#build) for an [application](https://hathora.dev/docs/concepts/hathora-entities#application). */ getBuildsDeprecated(appId: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Builds a game server artifact from a tarball you provide. Pass in the `buildId` generated from [`CreateBuild()`](https://hathora.dev/api#tag/BuildV1/operation/CreateBuild). * @param {string} appId * @param {number} buildId * @param {Blob} file * @param {*} [options] Override http request option. * @deprecated * @throws {RequiredError} * @memberof BuildV1ApiInterface */ runBuildDeprecatedRaw(requestParameters: RunBuildDeprecatedRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Builds a game server artifact from a tarball you provide. Pass in the `buildId` generated from [`CreateBuild()`](https://hathora.dev/api#tag/BuildV1/operation/CreateBuild). */ runBuildDeprecated(appId: string, buildId: number, file: Blob, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; } /** * */ export class BuildV1Api extends runtime.BaseAPI implements BuildV1ApiInterface { /** * Creates a new [build](https://hathora.dev/docs/concepts/hathora-entities#build). Responds with a `buildId` that you must pass to [`RunBuild()`](https://hathora.dev/api#tag/BuildV1/operation/RunBuild) to build the game server artifact. You can optionally pass in a `buildTag` to associate an external version with a build. */ async createBuildDeprecatedRaw(requestParameters: CreateBuildDeprecatedRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.appId === null || requestParameters.appId === undefined) { throw new runtime.RequiredError('appId','Required parameter requestParameters.appId was null or undefined when calling createBuildDeprecated.'); } if (requestParameters.createBuildParams === null || requestParameters.createBuildParams === undefined) { throw new runtime.RequiredError('createBuildParams','Required parameter requestParameters.createBuildParams was null or undefined when calling createBuildDeprecated.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("hathoraDevToken", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const response = await this.request({ path: `/builds/v1/{appId}/create`.replace(`{${"appId"}}`, encodeURIComponent(String(requestParameters.appId))), method: 'POST', headers: headerParameters, query: queryParameters, body: CreateBuildParamsToJSON(requestParameters.createBuildParams), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => BuildFromJSON(jsonValue)); } /** * Creates a new [build](https://hathora.dev/docs/concepts/hathora-entities#build). Responds with a `buildId` that you must pass to [`RunBuild()`](https://hathora.dev/api#tag/BuildV1/operation/RunBuild) to build the game server artifact. You can optionally pass in a `buildTag` to associate an external version with a build. */ async createBuildDeprecated(appId: string, createBuildParams: CreateBuildParams, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.createBuildDeprecatedRaw({ appId: appId, createBuildParams: createBuildParams }, initOverrides); return await response.value(); } /** * Delete a [build](https://hathora.dev/docs/concepts/hathora-entities#build). All associated metadata is deleted. */ async deleteBuildDeprecatedRaw(requestParameters: DeleteBuildDeprecatedRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.appId === null || requestParameters.appId === undefined) { throw new runtime.RequiredError('appId','Required parameter requestParameters.appId was null or undefined when calling deleteBuildDeprecated.'); } if (requestParameters.buildId === null || requestParameters.buildId === undefined) { throw new runtime.RequiredError('buildId','Required parameter requestParameters.buildId was null or undefined when calling deleteBuildDeprecated.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("hathoraDevToken", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const response = await this.request({ path: `/builds/v1/{appId}/delete/{buildId}`.replace(`{${"appId"}}`, encodeURIComponent(String(requestParameters.appId))).replace(`{${"buildId"}}`, encodeURIComponent(String(requestParameters.buildId))), method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Delete a [build](https://hathora.dev/docs/concepts/hathora-entities#build). All associated metadata is deleted. */ async deleteBuildDeprecated(appId: string, buildId: number, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deleteBuildDeprecatedRaw({ appId: appId, buildId: buildId }, initOverrides); } /** * Get details for a [build](https://hathora.dev/docs/concepts/hathora-entities#build). */ async getBuildInfoDeprecatedRaw(requestParameters: GetBuildInfoDeprecatedRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.appId === null || requestParameters.appId === undefined) { throw new runtime.RequiredError('appId','Required parameter requestParameters.appId was null or undefined when calling getBuildInfoDeprecated.'); } if (requestParameters.buildId === null || requestParameters.buildId === undefined) { throw new runtime.RequiredError('buildId','Required parameter requestParameters.buildId was null or undefined when calling getBuildInfoDeprecated.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("hathoraDevToken", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const response = await this.request({ path: `/builds/v1/{appId}/info/{buildId}`.replace(`{${"appId"}}`, encodeURIComponent(String(requestParameters.appId))).replace(`{${"buildId"}}`, encodeURIComponent(String(requestParameters.buildId))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => BuildFromJSON(jsonValue)); } /** * Get details for a [build](https://hathora.dev/docs/concepts/hathora-entities#build). */ async getBuildInfoDeprecated(appId: string, buildId: number, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getBuildInfoDeprecatedRaw({ appId: appId, buildId: buildId }, initOverrides); return await response.value(); } /** * Returns an array of [builds](https://hathora.dev/docs/concepts/hathora-entities#build) for an [application](https://hathora.dev/docs/concepts/hathora-entities#application). */ async getBuildsDeprecatedRaw(requestParameters: GetBuildsDeprecatedRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { if (requestParameters.appId === null || requestParameters.appId === undefined) { throw new runtime.RequiredError('appId','Required parameter requestParameters.appId was null or undefined when calling getBuildsDeprecated.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("hathoraDevToken", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const response = await this.request({ path: `/builds/v1/{appId}/list`.replace(`{${"appId"}}`, encodeURIComponent(String(requestParameters.appId))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(BuildFromJSON)); } /** * Returns an array of [builds](https://hathora.dev/docs/concepts/hathora-entities#build) for an [application](https://hathora.dev/docs/concepts/hathora-entities#application). */ async getBuildsDeprecated(appId: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const response = await this.getBuildsDeprecatedRaw({ appId: appId }, initOverrides); return await response.value(); } /** * Builds a game server artifact from a tarball you provide. Pass in the `buildId` generated from [`CreateBuild()`](https://hathora.dev/api#tag/BuildV1/operation/CreateBuild). */ async runBuildDeprecatedRaw(requestParameters: RunBuildDeprecatedRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.appId === null || requestParameters.appId === undefined) { throw new runtime.RequiredError('appId','Required parameter requestParameters.appId was null or undefined when calling runBuildDeprecated.'); } if (requestParameters.buildId === null || requestParameters.buildId === undefined) { throw new runtime.RequiredError('buildId','Required parameter requestParameters.buildId was null or undefined when calling runBuildDeprecated.'); } if (requestParameters.file === null || requestParameters.file === undefined) { throw new runtime.RequiredError('file','Required parameter requestParameters.file was null or undefined when calling runBuildDeprecated.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("hathoraDevToken", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const consumes: runtime.Consume[] = [ { contentType: 'multipart/form-data' }, ]; // @ts-ignore: canConsumeForm may be unused const canConsumeForm = runtime.canConsumeForm(consumes); let formParams: { append(param: string, value: any): any }; let useForm = false; // use FormData to transmit files using content-type "multipart/form-data" useForm = canConsumeForm; if (useForm) { formParams = new FormData(); } else { formParams = new URLSearchParams(); } if (requestParameters.file !== undefined) { formParams.append('file', requestParameters.file as any); } const response = await this.request({ path: `/builds/v1/{appId}/run/{buildId}`.replace(`{${"appId"}}`, encodeURIComponent(String(requestParameters.appId))).replace(`{${"buildId"}}`, encodeURIComponent(String(requestParameters.buildId))), method: 'POST', headers: headerParameters, query: queryParameters, body: formParams, }, initOverrides); if (this.isJsonMime(response.headers.get('content-type'))) { return new runtime.JSONApiResponse(response); } else { return new runtime.TextApiResponse(response) as any; } } /** * Builds a game server artifact from a tarball you provide. Pass in the `buildId` generated from [`CreateBuild()`](https://hathora.dev/api#tag/BuildV1/operation/CreateBuild). */ async runBuildDeprecated(appId: string, buildId: number, file: Blob, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.runBuildDeprecatedRaw({ appId: appId, buildId: buildId, file: file }, initOverrides); return await response.value(); } }