UNPKG

@gmetrixr/rjson

Version:
90 lines (89 loc) 3.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const r_1 = require("../../../r"); /** * Changes the older deployment settings format into a RecordNode format * The check of whether its a record already or not must have been already done by now. * (if deployment_version isn't detected, that means its the older version) */ class Migration { execute(olderDeployment) { var _a, _b, _c, _d; const deploymentJson = (0, r_1.createRecord)(r_1.RT.deployment, r_1.R.SINGLE_RECORD_ID); const deploymentF = r_1.r.record(deploymentJson); if (olderDeployment.geolock !== undefined) { if (olderDeployment.geolock.enabled === true) { deploymentF.set(r_1.rtp.deployment.geolock_enabled, true); const lat = (_a = olderDeployment.geolock.lat) !== null && _a !== void 0 ? _a : 0; const lng = (_b = olderDeployment.geolock.lng) !== null && _b !== void 0 ? _b : 0; const range = (_c = olderDeployment.geolock.range) !== null && _c !== void 0 ? _c : 0; const address = (_d = olderDeployment.geolock.address) !== null && _d !== void 0 ? _d : ""; deploymentF.set(r_1.rtp.deployment.geolock_coordinates, [lat, lng]); deploymentF.set(r_1.rtp.deployment.geolock_range, range); deploymentF.set(r_1.rtp.deployment.geolock_address, address); } } if (olderDeployment.track_location === true) { deploymentF.set(r_1.rtp.deployment.track_location, true); } if (olderDeployment.enable_multiplayer_mode === true) { deploymentF.set(r_1.rtp.deployment.enable_multiplayer, true); } if (olderDeployment.enable_audio === true) { deploymentF.set(r_1.rtp.deployment.multiplayer_audio_enabled, true); } if (olderDeployment.enable_chat === true) { deploymentF.set(r_1.rtp.deployment.multiplayer_chat_enabled, true); } if (olderDeployment.enable_screenshare === true) { deploymentF.set(r_1.rtp.deployment.multiplayer_screenshare_enabled, true); } if (olderDeployment.enable_discussion === true) { deploymentF.set(r_1.rtp.deployment.multiplayer_comments_enabled, true); } if (olderDeployment.enable_room_instance === true) { deploymentF.set(r_1.rtp.deployment.enable_room_instance, true); } if (olderDeployment.room_instance_count !== undefined) { deploymentF.set(r_1.rtp.deployment.enable_room_instance, olderDeployment.room_instance_count); } if (olderDeployment.room_instance_member_limit !== undefined) { deploymentF.set(r_1.rtp.deployment.room_instance_member_limit, olderDeployment.room_instance_member_limit); } if (olderDeployment.room_instance_overspill_message !== undefined) { deploymentF.set(r_1.rtp.deployment.room_instance_overspill_message, olderDeployment.room_instance_overspill_message); } deploymentF.set(r_1.rtp.deployment.deployment_version, 1); return deploymentJson; } } const migration = new Migration(); exports.default = migration; /** * Older structure export interface DeploymentSettings { geolock?: { enabled?: boolean; lat?: number | null; lng?: number | null; range?: number | null; address?: string | null; } | null; meta?: { tags: string[] | null; title: string | null; description: string | null; thumbnail: string | null } | null; track_location?: boolean; enable_discussion?: boolean; enable_multiplayer_mode?: boolean; enable_audio?: boolean; enable_screenshare?: boolean; enable_chat?: boolean; enable_room_instance?: boolean; room_instance_count?: number; room_instance_member_limit?: number; room_instance_overspill_message?: string; } */