UNPKG

openblox

Version:

Roblox API Wrapper For Both Classic And OpenCloud APIs.

137 lines (136 loc) 8.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 standardDataStores_V2_exports = {}; __export(standardDataStores_V2_exports, { createStandardDataStoreEntry: () => createStandardDataStoreEntry, createStandardDataStoreSnapshot: () => createStandardDataStoreSnapshot, deleteStandardDataStoreEntry: () => deleteStandardDataStoreEntry, incrementStandardDatastoreEntry: () => incrementStandardDatastoreEntry, listStandardDataStoreEntries: () => listStandardDataStoreEntries, listStandardDataStoreEntryRevisions: () => listStandardDataStoreEntryRevisions, listStandardDataStores: () => listStandardDataStores, standardDataStoreEntry: () => standardDataStoreEntry, updateStandardDataStoreEntry: () => updateStandardDataStoreEntry }); module.exports = __toCommonJS(standardDataStores_V2_exports); var import_apiGroup = require("../../apiGroup"); var import_utils = require("../../../utils/utils"); const { createApiMethod } = (0, import_apiGroup.createApiGroup)({ name: "StandardDatastores_V2", baseUrl: "https://apis.roblox.com/cloud" }); const formatRevisionCreateTimeClamp = (createdBefore, createdAfter) => { if (createdBefore && createdBefore instanceof Date) createdBefore = createdBefore.toISOString(); if (createdAfter && createdAfter instanceof Date) createdAfter = createdAfter.toISOString(); return `${createdBefore ? `revision_create_time <= ${createdBefore}` : ""}${createdBefore && createdAfter ? " && " : ""}${createdAfter ? `revision_create_time >= ${createdAfter}` : ""}`; }; const listStandardDataStores = createApiMethod(async ({ universeId, prefix, limit, cursor }) => ({ method: "GET", path: `/v2/universes/${universeId}/data-stores`, searchParams: { filter: prefix ? `id.startsWith("${prefix}")` : null, maxPageSize: limit, pageToken: cursor }, name: `listStandardDataStores`, formatRawDataFn: ({ dataStores }) => dataStores })); const createStandardDataStoreSnapshot = createApiMethod(async ({ universeId }) => ({ method: "POST", path: `/v2/universes/${universeId}/data-stores:snapshot`, body: {}, name: `createStandardDataStoreSnapshot`, formatRawDataFn: (rawData) => { if (!rawData.latestSnapshotTime) return rawData; return (0, import_utils.cloneAndMutateObject)(rawData, (obj) => obj.latestSnapshotTime = new Date(obj.latestSnapshotTime)); } })); const listStandardDataStoreEntries = createApiMethod(async ({ universeId, dataStore, scope, prefix, limit, cursor }) => ({ method: "GET", path: scope ? `/v2/universes/${universeId}/data-stores/${dataStore}/scopes/${scope}/entries` : `/v2/universes/${universeId}/data-stores/${dataStore}/entries`, searchParams: { filter: prefix ? `id.startsWith("${prefix}")` : null, maxPageSize: limit, pageToken: cursor }, name: `listStandardDataStoreEntries`, formatRawDataFn: (rawData) => rawData?.dataStoreEntries || [], getCursorsFn: (rawData) => [null, rawData?.nextPageToken] })); const createStandardDataStoreEntry = createApiMethod(async ({ universeId, dataStore, scope, entryId, value, users, attributes }) => ({ method: "POST", path: scope ? `/v2/universes/${universeId}/data-stores/${dataStore}/scopes/${scope}/entries` : `/v2/universes/${universeId}/data-stores/${dataStore}/entries`, searchParams: { id: entryId.replaceAll("/", ":") }, body: { value, users: users?.map((user) => `users/${user.toString()}`), attributes }, name: `createStandardDataStoreEntry`, formatRawDataFn: (rawData) => (0, import_utils.cloneAndMutateObject)(rawData, (obj) => { obj.createTime = new Date(obj.createTime); obj.revisionCreateTime = new Date(obj.createTime); }) })); const standardDataStoreEntry = createApiMethod(async ({ universeId, dataStore, scope, entryId, revisionId }) => ({ method: "GET", path: scope ? `/v2/universes/${universeId}/data-stores/${dataStore}/scopes/${scope}/entries/${entryId.replaceAll("/", ":")}${revisionId ? `@${revisionId}` : "@latest"}` : `/v2/universes/${universeId}/data-stores/${dataStore}/entries/${entryId.replaceAll("/", ":")}${revisionId ? `@${revisionId}` : "@latest"}`, name: `standardDataStoreEntry`, formatRawDataFn: (rawData) => (0, import_utils.cloneAndMutateObject)(rawData, (obj) => { obj.createTime = new Date(obj.createTime); obj.revisionCreateTime = new Date(obj.createTime); }) })); const deleteStandardDataStoreEntry = createApiMethod(async ({ universeId, dataStore, scope, entryId }) => ({ method: "DELETE", path: scope ? `/v2/universes/${universeId}/data-stores/${dataStore}/scopes/${scope}/entries/${entryId.replaceAll("/", ":")}` : `/v2/universes/${universeId}/data-stores/${dataStore}/entries/${entryId.replaceAll("/", ":")}`, name: `deleteStandardDataStoreEntry`, formatRawDataFn: import_utils.dataIsSuccess })); const updateStandardDataStoreEntry = createApiMethod(async ({ universeId, dataStore, scope, entryId, value, allowMissing, users, attributes }) => ({ method: "PATCH", path: scope ? `/v2/universes/${universeId}/data-stores/${dataStore}/scopes/${scope}/entries/${entryId.replaceAll("/", ":")}` : `/v2/universes/${universeId}/data-stores/${dataStore}/entries/${entryId.replaceAll("/", ":")}`, searchParams: { allowMissing }, body: { value, users: users?.map((user) => `users/${user.toString()}`), attributes }, name: `updateStandardDataStoreEntry`, formatRawDataFn: (rawData) => (0, import_utils.cloneAndMutateObject)(rawData, (obj) => { obj.createTime = new Date(obj.createTime); obj.revisionCreateTime = new Date(obj.createTime); }) })); const incrementStandardDatastoreEntry = createApiMethod(async ({ universeId, dataStore, scope, entryId, amount, users, attributes }) => ({ method: "POST", path: scope ? `/v2/universes/${universeId}/data-stores/${dataStore}/scopes/${scope}/entries/${entryId.replaceAll("/", ":")}:increment` : `/v2/universes/${universeId}/data-stores/${dataStore}/entries/${entryId.replaceAll("/", ":")}:increment`, body: { amount, users: users?.map((user) => `users/${user.toString()}`), attributes }, name: `incrementStandardDatastoreEntry`, formatRawDataFn: (rawData) => (0, import_utils.cloneAndMutateObject)(rawData, (obj) => { obj.createTime = new Date(obj.createTime); obj.revisionCreateTime = new Date(obj.createTime); }) })); const listStandardDataStoreEntryRevisions = createApiMethod(async ({ universeId, dataStore, scope, entryId, createdBefore, createdAfter, limit, cursor }) => ({ method: "GET", path: scope ? `/v2/universes/${universeId}/data-stores/${dataStore}/scopes/${scope}/entries/${entryId.replaceAll("/", ":")}:listRevisions` : `/v2/universes/${universeId}/data-stores/${dataStore}/entries/${entryId.replaceAll("/", ":")}:listRevisions`, searchParams: { filter: formatRevisionCreateTimeClamp(createdBefore, createdAfter), maxPageSize: limit, pageToken: cursor }, name: `listStandardDataStoreEntryRevisions`, formatRawDataFn: ({ dataStoreEntries }) => dataStoreEntries.map( (entry) => (0, import_utils.cloneAndMutateObject)(entry, (obj) => { obj.createTime = new Date(obj.createTime); obj.revisionCreateTime = new Date(obj.createTime); }) ), getCursorsFn: (rawData) => [null, rawData.nextPageToken] })); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { createStandardDataStoreEntry, createStandardDataStoreSnapshot, deleteStandardDataStoreEntry, incrementStandardDatastoreEntry, listStandardDataStoreEntries, listStandardDataStoreEntryRevisions, listStandardDataStores, standardDataStoreEntry, updateStandardDataStoreEntry });