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