openblox
Version:
Roblox API Wrapper For Both Classic And OpenCloud APIs.
125 lines (124 loc) • 5.08 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 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
});
;