UNPKG

openblox

Version:

Roblox API Wrapper For Both Classic And OpenCloud APIs.

125 lines (124 loc) 5.08 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 virtualEvents_exports = {}; __export(virtualEvents_exports, { authenticatedUserEventPermissionsForHost: () => authenticatedUserEventPermissionsForHost, authenticatedUserEvents: () => authenticatedUserEvents, createEvent: () => createEvent, eventInfo: () => eventInfo, eventRsvpCounters: () => eventRsvpCounters, eventRsvps: () => eventRsvps, publishEvent: () => publishEvent, updateEvent: () => updateEvent }); module.exports = __toCommonJS(virtualEvents_exports); var import_apiGroup = require("../../apiGroup"); var import_utils = require("../../../utils/utils"); const { createApiMethod } = (0, import_apiGroup.createApiGroup)({ name: "ClassicVirtualEventsApi", baseUrl: "https://apis.roblox.com/virtual-events" }); const prettifyEvent = (event) => { const eventTime = event.eventTime; eventTime.startUtc = new Date(eventTime.startUtc); eventTime.endUtc = new Date(eventTime.endUtc); event.createdUtc = new Date(event.createdUtc); event.updatedUtc = new Date(event.updatedUtc); return event; }; const eventInfo = createApiMethod(async ({ eventId }) => ({ path: `/v1/virtual-events/${eventId}`, method: "GET", name: "eventInfo", formatRawDataFn: (rawData) => (0, import_utils.cloneAndMutateObject)(rawData, prettifyEvent) })); const createEvent = createApiMethod(async ({ title, description, startTime, endTime, universeId, groupId, primaryCategory, secondaryCategory, thumbnailIds }) => ({ method: "POST", path: `/v1/virtual-events/create`, name: `createEvent`, body: { title, description, eventTime: { startTime, endTime }, universeId, groupId, eventCategories: primaryCategory && [ { category: primaryCategory, rank: 0 }, secondaryCategory && { category: secondaryCategory, rank: 1 } ].filter((e) => e), thumbnails: thumbnailIds ? thumbnailIds.map((mediaId, rank) => ({ mediaId, rank })) : void 0 }, formatRawDataFn: (rawData) => (0, import_utils.cloneAndMutateObject)(rawData, prettifyEvent) })); const updateEvent = createApiMethod(async ({ eventId, title, description, startTime, endTime, thumbnailIds, primaryCategory, secondaryCategory }) => ({ method: "PATCH", path: `/v1/virtual-events/${eventId}`, name: `updateEvent`, body: { title, description, eventTime: { startTime, endTime }, eventCategories: primaryCategory && [ { category: primaryCategory, rank: 0 }, secondaryCategory && { category: secondaryCategory, rank: 1 } ].filter((e) => e), thumbnails: thumbnailIds ? thumbnailIds.map((mediaId, rank) => ({ mediaId, rank })) : void 0 } })); const publishEvent = createApiMethod(async ({ eventId }) => ({ method: "PATCH", path: `/v1/virtual-events/${eventId}/status`, name: `publishEvent`, body: { eventStatus: "active" }, formatRawDataFn: ({ isUpdated }) => isUpdated })); const eventRsvps = createApiMethod(async ({ eventId, limit, cursor }) => ({ method: "GET", path: `/v1/virtual-events/${eventId}/rsvps`, searchParams: { limit, cursor }, name: `eventRsvpCounters`, formatRawDataFn: ({ data }) => data })); const eventRsvpCounters = createApiMethod(async ({ eventId }) => ({ method: "GET", path: `/v1/virtual-events/${eventId}/rsvps/counters`, name: `eventRsvpCounters`, formatRawDataFn: ({ counters }) => counters })); const authenticatedUserEventPermissionsForHost = createApiMethod(async ({ userId, groupId }) => ({ method: "GET", path: `/v1/virtual-events/permissions`, searchParams: { hostId: userId || groupId, hostType: userId ? "user" : "group" }, name: `authenticatedUserEventPermissionsForHost` })); const authenticatedUserEvents = createApiMethod(async ({ groupId, filterBy, sortOrder, sortBy, fromUtc, limit, cursor }) => ({ method: "GET", path: `/v1/virtual-events/my-events`, searchParams: { groupId, filterBy, sortOrder, sortBy, fromUtc, limit, cursor }, name: `authenticatedUserEvents`, formatRawDataFn: ({ data }) => data.map((event) => (0, import_utils.cloneAndMutateObject)(event, prettifyEvent)) })); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { authenticatedUserEventPermissionsForHost, authenticatedUserEvents, createEvent, eventInfo, eventRsvpCounters, eventRsvps, publishEvent, updateEvent });