UNPKG

browser-sdk

Version:

javascript SDK for the lightelligence-platform

184 lines (164 loc) 5.9 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _apiService = _interopRequireDefault(require("../tools/apiService")); /** * Methods for tenant operations */ var Tenant = /*#__PURE__*/ function () { function Tenant() { (0, _classCallCheck2["default"])(this, Tenant); } (0, _createClass2["default"])(Tenant, null, [{ key: "getUserTenants", /** * 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} */ value: function 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} */ }, { key: "createTenant", value: function createTenant(tenant) { return _apiService["default"].call('/tenants', 'POST', tenant); } /** * Gets tenant * @param {string} tenantId * @returns {Promise} */ }, { key: "getTenant", value: function 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} */ }, { key: "getTenantUsers", value: function 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} */ }, { key: "deleteTenantUser", value: function 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} */ }, { key: "deleteTenant", value: function 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} */ }, { key: "createInvite", value: function 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} */ }, { key: "getInvites", value: function 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} */ }, { key: "deleteInvite", value: function 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} */ }, { key: "getTenantRoles", value: function 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} */ }, { key: "putTenantUserRoles", value: function 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} */ }, { key: "patchTenant", value: function patchTenant(tenantId, patch) { return _apiService["default"].call("/tenants/".concat(tenantId), 'PATCH', patch); } }]); return Tenant; }(); exports["default"] = Tenant;