UNPKG

openblox

Version:

Roblox API Wrapper For Both Classic And OpenCloud APIs.

76 lines (75 loc) 2.95 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 users_exports = {}; __export(users_exports, { sendNotificationToUser: () => sendNotificationToUser, userInfo: () => userInfo, userThumbnail: () => userThumbnail }); module.exports = __toCommonJS(users_exports); var import_apiGroup = require("../../apiGroup"); var import_utils = require("../../../utils/utils"); const { createApiMethod } = (0, import_apiGroup.createApiGroup)({ name: "Users", baseUrl: "https://apis.roblox.com/cloud" }); const sendNotificationToUser_formatParameters = (params) => { const formattedParams = {}; Object.entries(params).forEach(([key, value]) => formattedParams[key] = { stringValue: value }); return formattedParams; }; const userInfo = createApiMethod(async ({ userId }) => ({ path: `/v2/users/${userId}`, method: "GET", name: "userInfo", formatRawDataFn: (rawData) => (0, import_utils.cloneAndMutateObject)(rawData, (obj) => { const socialNetworkProfiles = obj.socialNetworkProfiles; if (socialNetworkProfiles) { Object.entries(socialNetworkProfiles).forEach(([key, value]) => { if (value != "") return; delete socialNetworkProfiles[key]; }); } obj.createTime = new Date(obj.createTime); }) })); const userThumbnail = createApiMethod(async ({ userId, size, format, shape }) => ({ path: `/v2/users/${userId}:generateThumbnail`, method: "GET", searchParams: { size, format, shape }, name: "userThumbnail" })); const sendNotificationToUser = createApiMethod(async ({ userId, universeId, notificationData }) => ({ path: `/v2/users/${userId}/notifications`, method: "POST", body: { source: { universe: `universes/${universeId}` }, payload: { type: "MOMENT", messageId: notificationData.messageId, parameters: sendNotificationToUser_formatParameters(notificationData.parameters), joinExperience: { launchData: notificationData.launchData }, analyticsData: { category: notificationData.analyticsCategory } } }, name: "sendNotificationToUser" })); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { sendNotificationToUser, userInfo, userThumbnail });