UNPKG

openblox

Version:

Roblox API Wrapper For Both Classic And OpenCloud APIs.

194 lines (193 loc) 7.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 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 });