UNPKG

openblox

Version:

Roblox API Wrapper For Both Classic And OpenCloud APIs.

102 lines (101 loc) 4.11 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 talent_exports = {}; __export(talent_exports, { creatorExperiences: () => creatorExperiences, creatorIsIdVerified: () => creatorIsIdVerified, creatorProfile: () => creatorProfile, jobSearch: () => jobSearch }); module.exports = __toCommonJS(talent_exports); var import_apiGroup = require("../../apiGroup"); var import_utils = require("../../../utils/utils"); const { createApiMethod } = (0, import_apiGroup.createApiGroup)({ name: "ClassicTalent", baseUrl: "https://apis.roblox.com/talent" }); const creatorProfile = createApiMethod(async ({ userId }) => ({ path: `/v1/users/${userId}/profile`, method: "GET", name: "creatorProfile", formatRawDataFn: ({ data }) => (0, import_utils.cloneAndMutateObject)(data[0], (obj) => { obj.createdUtc = new Date(obj.createdUtc); obj.updatedUtc = new Date(obj.updatedUtc); }) })); const creatorExperiences = createApiMethod(async ({ userId, sortOrder, limit, cursor }) => ({ path: `/v1/users/${userId}/experiences`, method: "GET", searchParams: { sortOrder, limit, cursor }, name: "creatorExperiences", formatRawDataFn: ({ data }) => data.map((experienceData) => (0, import_utils.cloneAndMutateObject)(experienceData, (obj) => { obj.createdUtc = new Date(obj.createdUtc); obj.updatedUtc = new Date(obj.updatedUtc); obj.startedUtc = new Date(obj.startedUtc); const endedUtc = obj.endedUtc; if (endedUtc) obj.endedUtc = new Date(endedUtc); })) })); const creatorIsIdVerified = createApiMethod(async ({ userId }) => ({ path: `/v1/users/verification`, method: "GET", searchParams: { userIds: userId }, name: "creatorIsIdVerified", formatRawDataFn: ({ data }) => data[0].isVerified })); const jobSearch = createApiMethod(async ({ query = "", limit = 10, filter: { jobType, paymentAmount, paymentTypes, skillTypes, isVerified = true } = {}, cursor }) => ({ path: `/v1/search/jobs`, method: "POST", name: "jobSearch", body: { query, page: { current: cursor, size: limit }, filters: { all: [ jobType && { jobType }, paymentAmount && { paymentAmount }, paymentTypes && { paymentTypes }, { paymentAmountType: "Total" }, skillTypes && { skillTypes }, { isVerified: [isVerified ? "true" : "false"] } ].filter((e) => e) }, sort: [ { attribute_score: "desc" }, { _score: "desc" } ] }, formatRawDataFn: ({ results, ...rest }) => { const prettifiedResults = results.map((result) => { const prettifiedResult = {}; const resultKeys = Object.keys(result), resultValues = Object.values(result); resultKeys.forEach((key, i) => key === "_meta" ? void 0 : prettifiedResult[key] = resultValues[i]?.raw); prettifiedResult.publishedUtc = new Date(prettifiedResult.publishedUtc); prettifiedResult.expiresUtc = new Date(prettifiedResult.expiresUtc); prettifiedResult.isVerifiedRequirement = prettifiedResult.isVerifiedRequirement ? true : false; return prettifiedResult; }); return { results: prettifiedResults, ...rest }; }, getCursorsFn: () => [cursor || null, cursor ? cursor + 1 : 1] })); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { creatorExperiences, creatorIsIdVerified, creatorProfile, jobSearch });