/* 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 { exists, mapValues } from '../runtime'; import type { ExposedPort } from './ExposedPort'; import { ExposedPortFromJSON, ExposedPortFromJSONTyped, ExposedPortToJSON, } from './ExposedPort'; import type { RoomReadyStatus } from './RoomReadyStatus'; import { RoomReadyStatusFromJSON, RoomReadyStatusFromJSONTyped, RoomReadyStatusToJSON, } from './RoomReadyStatus'; /** * * @export * @interface RoomConnectionData */ export interface RoomConnectionData { /** * * @type {Array} * @memberof RoomConnectionData */ additionalExposedPorts: Array; /** * * @type {ExposedPort} * @memberof RoomConnectionData */ exposedPort?: ExposedPort; /** * * @type {RoomReadyStatus} * @memberof RoomConnectionData */ status: RoomReadyStatus; /** * Unique identifier to a game session or match. Use the default system generated ID or overwrite it with your own. * Note: error will be returned if `roomId` is not globally unique. * @type {string} * @memberof RoomConnectionData */ roomId: string; /** * System generated unique identifier to a runtime instance of your game server. * @type {string} * @memberof RoomConnectionData */ processId: string; } /** * Check if a given object implements the RoomConnectionData interface. */ export function instanceOfRoomConnectionData(value: object): boolean { let isInstance = true; isInstance = isInstance && "additionalExposedPorts" in value; isInstance = isInstance && "status" in value; isInstance = isInstance && "roomId" in value; isInstance = isInstance && "processId" in value; return isInstance; } export function RoomConnectionDataFromJSON(json: any): RoomConnectionData { return RoomConnectionDataFromJSONTyped(json, false); } export function RoomConnectionDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): RoomConnectionData { if ((json === undefined) || (json === null)) { return json; } return { 'additionalExposedPorts': ((json['additionalExposedPorts'] as Array).map(ExposedPortFromJSON)), 'exposedPort': !exists(json, 'exposedPort') ? undefined : ExposedPortFromJSON(json['exposedPort']), 'status': RoomReadyStatusFromJSON(json['status']), 'roomId': json['roomId'], 'processId': json['processId'], }; } export function RoomConnectionDataToJSON(value?: RoomConnectionData | null): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { 'additionalExposedPorts': ((value.additionalExposedPorts as Array).map(ExposedPortToJSON)), 'exposedPort': ExposedPortToJSON(value.exposedPort), 'status': RoomReadyStatusToJSON(value.status), 'roomId': value.roomId, 'processId': value.processId, }; }