openblox
Version:
Roblox API Wrapper For Both Classic And OpenCloud APIs.
194 lines (193 loc) • 7.95 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 organizations_exports = {};
__export(organizations_exports, {
createOrgInvitation: () => createOrgInvitation,
createOrgRole: () => createOrgRole,
deleteOrgRole: () => deleteOrgRole,
giveRoleToOrgMember: () => giveRoleToOrgMember,
orgInfoForGroup: () => orgInfoForGroup,
orgInvitations: () => orgInvitations,
orgMemberPermissions: () => orgMemberPermissions,
orgMembers: () => orgMembers,
orgRoleMembers: () => orgRoleMembers,
orgRoleMetadata: () => orgRoleMetadata,
orgRolePermissions: () => orgRolePermissions,
orgRoles: () => orgRoles,
overwriteOrgRolePermissions: () => overwriteOrgRolePermissions,
removeOrgInvitation: () => removeOrgInvitation,
removeRoleFromOrgMember: () => removeRoleFromOrgMember,
updateOrgRole: () => updateOrgRole
});
module.exports = __toCommonJS(organizations_exports);
var import_apiGroup = require("../../apiGroup");
var import_utils = require("../../../utils/utils");
const { createApiMethod } = (0, import_apiGroup.createApiGroup)({ name: "ClassicOrganizations", baseUrl: "https://apis.roblox.com/orgs" });
const permissionsCategory = {
manageMembers: "Organization",
manageRoles: "Organization",
configure: "Organization",
play: "Experience",
edit: "Experience",
viewAnalytics: "Experience"
};
const orgInfoForGroup = createApiMethod(async ({ groupId }) => ({
method: "GET",
path: `/v1/organizations`,
searchParams: { groupId },
name: "orgInfoForGroup"
}));
const orgRoles = createApiMethod(async ({ orgId, limit = 10, cursor }) => ({
method: "GET",
path: `/v1/organizations/${orgId}/roles`,
searchParams: { MaxPageSize: limit, PageToken: cursor },
name: "orgRoles",
formatRawDataFn: ({ roles }) => roles.map((role) => (0, import_utils.cloneAndMutateObject)(role, (obj) => {
obj.updatedTime = new Date(obj.updatedTime);
})),
getCursorsFn: ({ pageToken }) => [null, pageToken]
}));
const orgRolePermissions = createApiMethod(async ({ orgId, roleId }) => ({
method: "GET",
path: `/v1/organizations/${orgId}/roles/${roleId}/permissions`,
name: "orgRolePermissions",
formatRawDataFn: ({ permissions }) => permissions
}));
const orgRoleMetadata = createApiMethod(async ({ orgId, roleId }) => ({
method: "GET",
path: `/v1/organizations/${orgId}/roles/${roleId}/metadata`,
name: "orgRoleMetadata",
formatRawDataFn: (rawData) => (0, import_utils.cloneAndMutateObject)(rawData, (obj) => obj.updatedTime = new Date(obj.updatedTime))
}));
const overwriteOrgRolePermissions = createApiMethod(async ({ orgId, roleId, newPermissions }) => ({
method: "PATCH",
path: `/v1/organizations/${orgId}/roles/${roleId}/permissions`,
body: {
permissions: Object.entries(newPermissions).map(([key, value]) => ({
category: permissionsCategory[key],
operation: key.charAt(0).toUpperCase() + key.slice(1),
enabled: value
}))
},
name: "overwriteOrgRolePermissions",
formatRawDataFn: ({ success }) => success
}));
const orgRoleMembers = createApiMethod(async ({ orgId, roleId, limit = 10, cursor }) => ({
method: "GET",
path: `/v1/organizations/${orgId}/roles/${roleId}/users`,
searchParams: { MaxPageSize: limit, PageToken: cursor },
name: `orgRoleMembers`,
formatRawDataFn: ({ users }) => users.map(({ roles, ...rest }) => ({
...rest,
roles: roles.map((role) => (0, import_utils.cloneAndMutateObject)(role, (obj) => {
obj.updatedTime = new Date(obj.updatedTime);
}))
})),
getCursorsFn: ({ pageToken }) => [null, pageToken]
}));
const orgMembers = createApiMethod(async ({ orgId, limit = 10, cursor }) => ({
method: "GET",
path: `/v1/organizations/${orgId}/users`,
searchParams: { MaxPageSize: limit, PageToken: cursor },
name: "orgMembers",
formatRawDataFn: ({ users }) => users.map(({ roles, ...rest }) => ({
...rest,
roles: roles.map((role) => (0, import_utils.cloneAndMutateObject)(role, (obj) => {
obj.updatedTime = new Date(obj.updatedTime);
}))
})),
getCursorsFn: ({ pageToken }) => [null, pageToken]
}));
const orgInvitations = createApiMethod(async ({ orgId, limit = 500, cursor }) => ({
method: "GET",
path: `/v1/organizations/${orgId}/invitations`,
searchParams: { MaxPageSize: limit, PageToken: cursor },
name: `orgInvitations`,
formatRawDataFn: ({ invitations }) => invitations.map((invitation) => (0, import_utils.cloneAndMutateObject)(invitation, (obj) => obj.updatedTime = new Date(obj.updatedTime))),
getCursorsFn: ({ pageToken }) => [null, pageToken]
}));
const createOrgInvitation = createApiMethod(async ({ orgId, userId }) => ({
method: "POST",
path: `/v1/organizations/${orgId}/invitations`,
body: { recipientUserId: userId },
name: `createOrgInvitation`,
formatRawDataFn: (rawData) => (0, import_utils.cloneAndMutateObject)(rawData, (obj) => obj.updatedTime = new Date(obj.updatedTime))
}));
const removeOrgInvitation = createApiMethod(async ({ orgId, invitationId }) => ({
method: "DELETE",
path: `/v1/organizations/${orgId}/invitations/${invitationId}`,
name: `removeOrgInvitation`,
formatRawDataFn: ({ success }) => success
}));
const orgMemberPermissions = createApiMethod(async ({ orgId, userId }) => ({
method: "GET",
path: `/v1/organizations/${orgId}/users/${userId}/permissions`,
name: "orgMemberPermissions"
}));
const giveRoleToOrgMember = createApiMethod(async ({ orgId, userId, roleId }) => ({
method: "POST",
path: `/v1/organizations/${orgId}/users/${userId}/roles/${roleId}`,
name: "giveRoleToOrgMember",
formatRawDataFn: ({ success }) => success
}));
const removeRoleFromOrgMember = createApiMethod(async ({ orgId, userId, roleId }) => ({
method: "DELETE",
path: `/v1/organizations/${orgId}/users/${userId}/roles/${roleId}`,
name: "removeRoleFromOrgMember",
formatRawDataFn: ({ success }) => success
}));
const createOrgRole = createApiMethod(async ({ orgId, roleName, roleColor }) => ({
method: "POST",
path: `/v1/organizations/${orgId}/roles`,
body: { name: roleName, color: roleColor },
name: "createOrgRole",
formatRawDataFn: (role) => (0, import_utils.cloneAndMutateObject)(role, (obj) => obj.updatedTime = new Date(obj.updatedTime))
}));
const updateOrgRole = createApiMethod(async ({ orgId, roleId, roleName, roleColor }) => ({
method: "PATCH",
path: `/v1/organizations/${orgId}/roles/${roleId}/metadata`,
body: { name: roleName, color: roleColor },
name: "createOrgRole",
formatRawDataFn: (role) => (0, import_utils.cloneAndMutateObject)(role, (obj) => obj.updatedTime = new Date(obj.updatedTime))
}));
const deleteOrgRole = createApiMethod(async ({ orgId, roleId }) => ({
method: "DELETE",
path: `/v1/organizations/${orgId}/roles/${roleId}`,
name: "deleteOrgRole",
formatRawDataFn: ({ success }) => success
}));
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
createOrgInvitation,
createOrgRole,
deleteOrgRole,
giveRoleToOrgMember,
orgInfoForGroup,
orgInvitations,
orgMemberPermissions,
orgMembers,
orgRoleMembers,
orgRoleMetadata,
orgRolePermissions,
orgRoles,
overwriteOrgRolePermissions,
removeOrgInvitation,
removeRoleFromOrgMember,
updateOrgRole
});
;