openblox
Version:
Roblox API Wrapper For Both Classic And OpenCloud APIs.
113 lines (112 loc) • 4.28 kB
JavaScript
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
});
;