import { type GameLaunchEnvelope } from './gameLaunch' import { type BackendLaunchResult } from './backendApi' export function adaptBackendLaunchResultToEnvelope(result: BackendLaunchResult): GameLaunchEnvelope { return { config: { configUrl: result.launch.config.configUrl, configLabel: result.launch.config.configLabel, configChecksumSha256: result.launch.config.configChecksumSha256 || null, releaseId: result.launch.config.releaseId, routeCode: result.launch.config.routeCode || null, }, business: { source: result.launch.business.source === 'direct-event' ? 'direct-event' : 'custom', eventId: result.launch.business.eventId, sessionId: result.launch.business.sessionId, sessionToken: result.launch.business.sessionToken, sessionTokenExpiresAt: result.launch.business.sessionTokenExpiresAt, }, variant: result.launch.variant ? { variantId: result.launch.variant.id, variantName: result.launch.variant.name, routeCode: result.launch.variant.routeCode || result.launch.config.routeCode || result.launch.business.routeCode || null, assignmentMode: result.launch.variant.assignmentMode || null, } : (result.launch.config.routeCode || result.launch.business.routeCode) ? { routeCode: result.launch.config.routeCode || result.launch.business.routeCode || null, } : null, } }