/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { AuthConfiguration, AuthConfiguration$Outbound, AuthConfiguration$outboundSchema, } from "./authconfiguration.js"; import { LoadBalancerConfig, LoadBalancerConfig$Outbound, LoadBalancerConfig$outboundSchema, } from "./loadbalancerconfig.js"; export type CreateAppConfig = { loadBalancer?: LoadBalancerConfig | undefined; /** * Configure [player authentication](https://hathora.dev/docs/backend-integrations/lobbies-and-matchmaking/auth-service) for your application. Use Hathora's built-in auth providers or use your own [custom authentication](https://hathora.dev/docs/lobbies-and-matchmaking/auth-service#custom-auth-provider). */ authConfiguration: AuthConfiguration; /** * Readable name for an application. Must be unique within an organization. */ appName: string; }; /** @internal */ export type CreateAppConfig$Outbound = { loadBalancer?: LoadBalancerConfig$Outbound | undefined; authConfiguration: AuthConfiguration$Outbound; appName: string; }; /** @internal */ export const CreateAppConfig$outboundSchema: z.ZodType< CreateAppConfig$Outbound, z.ZodTypeDef, CreateAppConfig > = z.object({ loadBalancer: LoadBalancerConfig$outboundSchema.optional(), authConfiguration: AuthConfiguration$outboundSchema, appName: z.string(), }); export function createAppConfigToJSON( createAppConfig: CreateAppConfig, ): string { return JSON.stringify(CreateAppConfig$outboundSchema.parse(createAppConfig)); }