browser-sdk
Version:
javascript SDK for the lightelligence-platform
129 lines (114 loc) • 3.87 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 roles operations
*/
var Role =
/*#__PURE__*/
function () {
function Role() {
(0, _classCallCheck2["default"])(this, Role);
}
(0, _createClass2["default"])(Role, null, [{
key: "getPermissions",
/**
* Get the permissions of the tenant
*
* @returns {Promise}
*/
value: function getPermissions() {
return _apiService["default"].call('/permissions');
}
/**
* Get the roles of the tenant
*
* @param {object} [params] Search parameters
* @param {number} [params.page=0] The number of the page starting with 0
* @param {number} [params.pageSize=10] The number of result per page
* @returns {Promise}
*/
}, {
key: "getRoles",
value: function getRoles() {
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var urlParams = new URLSearchParams(params);
return _apiService["default"].call("/roles?".concat(urlParams.toString()));
}
/**
* Get the role of the tenant
*
* @param {string} roleId The role's UUID
* @returns {Promise}
*/
}, {
key: "getRole",
value: function getRole(roleId) {
return _apiService["default"].call("/roles/".concat(roleId));
}
/**
* Create the role of the tenant
*
* @param {object} role The role data
* @param {string} role.name The name of the role
* @param {string} [role.description] The description of the role
* @param {Array<{ id: string, alias: string }>} [role.permissions] The permissions of the role. Either id or alias must be provided.
* @returns {Promise}
*/
}, {
key: "createRole",
value: function createRole(role) {
return _apiService["default"].call("/roles", 'POST', role);
}
/**
* Delete the role of the tenant
*
* @param {string} roleId The role's UUID
* @returns {Promise}
*/
}, {
key: "deleteRole",
value: function deleteRole(roleId) {
return _apiService["default"].call("/roles/".concat(roleId), 'DELETE');
}
/**
* Patch the role of the tenant
*
* @param {string} roleId The role's UUID
* @param {object} role The role data
* @param {string} [role.name] The name of the role
* @param {string} [role.description] The description of the role
* @param {Array<{ id: string, alias: string }>} [role.permissions] The permissions of the role. Either id or alias must be provided.
* @returns {Promise}
*/
}, {
key: "patchRole",
value: function patchRole(roleId, role) {
return _apiService["default"].call("/roles/".concat(roleId), 'PATCH', role);
}
/**
* Get the users of the role
*
* @param {string} roleId The role's UUID
* @param {object} [params] Search parameters
* @param {number} [params.page=0] The number of the page starting with 0
* @param {number} [params.pageSize=10] The number of result per page
* @returns {Promise}
*/
}, {
key: "getRoleUsers",
value: function getRoleUsers(roleId) {
var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var urlParams = new URLSearchParams(params);
return _apiService["default"].call("/roles/".concat(roleId, "/users?").concat(urlParams.toString()));
}
}]);
return Role;
}();
exports["default"] = Role;