UNPKG

browser-sdk

Version:

javascript SDK for the lightelligence-platform

159 lines (131 loc) 4.77 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _apiService = _interopRequireDefault(require("../tools/apiService")); /** * Methods for tenant operations */ class Tenant { /** * Get the tenants of a user for the supplied userId * @param {string} userId * @param {object} params search params * @param {number} [params.page=0] The number of the result page starting with 0 * @param {number} [params.pageSize=10] The number of result per page * @returns {Promise} */ static getUserTenants(userId, params) { var urlParams = new URLSearchParams(params); return _apiService.default.call("/users/".concat(userId, "/tenants?").concat(urlParams.toString())); } /** * Creates a new tenant and assigns role 'admin' to user. * @param {object} tenant * @returns {Promise} */ static createTenant(tenant) { return _apiService.default.call('/tenants', 'POST', tenant); } /** * Gets tenant * @param {string} tenantId * @returns {Promise} */ static getTenant(tenantId) { return _apiService.default.call("/tenants/".concat(tenantId)); } /** * Get the users associated to a tenant by any role * @param {string} tenantId * @param {number} [params.page=0] The number of the result page starting with 0 * @param {number} [params.pageSize=10] The number of result per page. Default is 10 * @returns {Promise} */ static getTenantUsers(tenantId, params) { var urlParams = new URLSearchParams(params); return _apiService.default.call("/tenants/".concat(tenantId, "/users?").concat(urlParams.toString())); } /** * Delete (remove) a user from a tenant * @param {string} tenantId * @param {string} userId * @returns {Promise} */ static deleteTenantUser(tenantId, userId) { return _apiService.default.call("/tenants/".concat(tenantId, "/users/").concat(userId), 'DELETE'); } /** * Delete tenant for the supplied tenantId * @param {string} tenantId * @returns {Promise} */ static deleteTenant(tenantId) { return _apiService.default.call("/tenants/".concat(tenantId), 'DELETE'); } /** * Create invite for tenant * @param {string} tenantId * @param {Object} invite - the invite to be created. * @param {string} invite.receiverEmail - email of user to be invited * @param {array<string>} invite.roleNames - Deprecated: array of roles for user to be assigned to. Ex. ['admin'] * @param {array<{ id: string }>} invite.roles - Array of objects containing the role id for user to be assigned to. Ex. [{ id: '123e4567-e89b-12d3-a456-426655440000' }] * @returns {Promise} */ static createInvite(tenantId, invite) { return _apiService.default.call("/tenants/".concat(tenantId, "/invites"), 'POST', invite); } /** * Get tenant invites * @param {string} tenantId * @param {number} [params.page=0] The number of the result page starting with 0 * @param {number} [params.pageSize=10] The number of result per page. Default is 10 * @returns {Promise} */ static getInvites(tenantId, params) { var urlParams = new URLSearchParams(params); return _apiService.default.call("/tenants/".concat(tenantId, "/invites?").concat(urlParams.toString())); } /** * Delete (revoke) a invite for a user. * - Only open invites can be deleted * @param {string} tenantId * @param {string} inviteId * @returns {Promise} */ static deleteInvite(tenantId, inviteId) { return _apiService.default.call("/tenants/".concat(tenantId, "/invites/").concat(inviteId), 'DELETE'); } /** * Gets roles of tenant * @deprecated Use {@link Role.getRoles} * @param {string} tenantId * @returns {Promise} */ static getTenantRoles(tenantId) { return _apiService.default.call("/tenants/".concat(tenantId, "/roles")); } /** * Update roles of user for tenant * - roleNames will replace the current roles. * @param {string} tenantId * @param {string} userId * @param {{ roles: array<{ id: string }> }} put - roles to update to * @returns {Promise} */ static putTenantUserRoles(tenantId, userId, put) { return _apiService.default.call("/tenants/".concat(tenantId, "/users/").concat(userId, "/roles"), 'PUT', put); } /** * Partially change the data of a specific tenant by its id. The Id itself is not changeable. * @param {string} tenantId * @param {object} patch changes to tenant * @returns {Promise} */ static patchTenant(tenantId, patch) { return _apiService.default.call("/tenants/".concat(tenantId), 'PATCH', patch); } } exports.default = Tenant;