browser-sdk
Version:
javascript SDK for the lightelligence-platform
184 lines (164 loc) • 5.9 kB
JavaScript
;
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;