UNPKG

openblox

Version:

Roblox API Wrapper For Both Classic And OpenCloud APIs.

113 lines (112 loc) 4.28 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var experiences_exports = {}; __export(experiences_exports, { placeInfo: () => placeInfo, publishPlace: () => publishPlace, restartUniverseServers: () => restartUniverseServers, universeInfo: () => universeInfo, updatePlace: () => updatePlace, updateUniverse: () => updateUniverse }); module.exports = __toCommonJS(experiences_exports); var import_apiGroup = require("../../apiGroup"); var import_utils = require("../../../utils/utils"); var import_file = require("../../../file"); const { createApiMethod } = (0, import_apiGroup.createApiGroup)({ name: "Experiences", baseUrl: "https://apis.roblox.com" }); function isPlaceFileBufferXml(buffer) { const bufferContent = buffer.toString("utf-8"); const trimmedContent = bufferContent.trim(); return !trimmedContent.includes("\uFFFD"); } const universeInfo = createApiMethod(async ({ universeId }) => ({ path: `/cloud/v2/universes/${universeId}`, method: "GET", name: "universeInfo", formatRawDataFn: (rawData) => (0, import_utils.cloneAndMutateObject)(rawData, (obj) => { obj.createTime = new Date(obj.createTime); obj.updateTime = new Date(obj.updateTime); }) })); const updateUniverse = createApiMethod(async ({ universeId, ...rest }) => ({ path: `/cloud/v2/universes/${universeId}`, method: "PATCH", body: rest, applyFieldMask: true, name: "updateUniverse", formatRawDataFn: (rawData) => (0, import_utils.cloneAndMutateObject)(rawData, (obj) => { obj.createTime = new Date(obj.createTime); obj.updateTime = new Date(obj.updateTime); }) })); const restartUniverseServers = createApiMethod(async ({ universeId }) => ({ path: `/cloud/v2/universes/${universeId}:restartServers`, method: "POST", name: "restartUniverseServers", body: {} })); const placeInfo = createApiMethod(async ({ universeId, placeId: PlaceId }) => ({ path: `/cloud/v2/universes/${universeId}/places/${PlaceId}`, method: "GET", name: "placeInfo", formatRawDataFn: (rawData) => (0, import_utils.cloneAndMutateObject)(rawData, (obj) => { obj.createTime = new Date(obj.createTime); obj.updateTime = new Date(obj.updateTime); }) })); const updatePlace = createApiMethod(async ({ universeId, placeId, ...rest }) => ({ path: `/cloud/v2/universes/${universeId}/places/${placeId}`, method: "PATCH", body: rest, applyFieldMask: true, name: "updatePlace", formatRawDataFn: (rawData) => (0, import_utils.cloneAndMutateObject)(rawData, (obj) => { obj.createTime = new Date(obj.createTime); obj.updateTime = new Date(obj.updateTime); }) })); const publishPlace = createApiMethod(async ({ universeId, placeId, versionType, placeFile }) => { let contentType; if (typeof placeFile == "string") { contentType = placeFile.endsWith(".rbxl") ? "application/octet-stream" : "application/xml"; placeFile = await (0, import_file.readFile)(placeFile); } else { contentType = isPlaceFileBufferXml(placeFile) ? "application/xml" : "application/octet-stream"; } return { method: "POST", path: `/universes/v1/${universeId}/places/${placeId}/versions`, searchParams: { versionType }, headers: { "Content-Type": contentType }, body: placeFile, name: `publishPlace`, formatRawDataFn: ({ versionNumber }) => versionNumber }; }); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { placeInfo, publishPlace, restartUniverseServers, universeInfo, updatePlace, updateUniverse });