browser-sdk
Version:
javascript SDK for the lightelligence-platform
100 lines (82 loc) • 3.32 kB
JavaScript
;
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 application operations
*/
class Application {
/**
* Get all applications available for the tenant.
* @param {object} params Search parameters
* @param {boolean} [params.installed] Filter for only installed applications
* @param {number} [params.page=0] The number of the result page starting with 0
* @param {number} [params.pageSize=10] The number of results per page. Default is 10
* @returns {Promise}
*/
static getApplications(params) {
var urlParams = new URLSearchParams(params);
return _apiService.default.call("/applications?".concat(urlParams.toString()));
}
/**
* Get detailed information for the available or installed application
* @param {string} applicationId The application ID
* @returns {Promise}
*/
static getApplication(applicationId) {
return _apiService.default.call("/applications/".concat(applicationId));
}
/**
* Get permissions required by an application
* @param {string} applicationId The application ID
* @returns {Promise}
*/
static getPermissions(applicationId) {
return _apiService.default.call("/applications/".concat(applicationId, "/permissions"));
}
/**
* Install an available application
* @param {string} applicationId The application ID
* @param {object} data Application data
* @param {object} [data.permissions] Application permissions
* @param {{ id: string }[]} [data.permissions.client] Application client permissions
* @param {{ id: string }[]} [data.permissions.user] Application client permissions
* @returns {Promise}
*/
static installApplication(applicationId) {
var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
return _apiService.default.call("/applications/".concat(applicationId, "/installation"), 'POST', data);
}
/**
* Updates and re-consents an installation
* @param {string} applicationId The application ID
* @param {object} data Application data
* @param {object} [data.permissions] Application permissions
* @param {{ id: string }[]} [data.permissions.client] Application client permissions
* @param {{ id: string }[]} [data.permissions.user] Application client permissions
* @returns {Promise}
*/
static updateInstallation(applicationId, data) {
return _apiService.default.call("/applications/".concat(applicationId, "/installation"), 'PATCH', data);
}
/**
* Get detailed information for an application installation
* @param {string} applicationId The application ID
* @returns {Promise}
*/
static getInstallationDetails(applicationId) {
return _apiService.default.call("/applications/".concat(applicationId, "/installation"));
}
/**
* Uninstall an installed application
* @param {string} applicationId The application ID
* @returns {Promise}
*/
static uninstallApplication(applicationId) {
return _apiService.default.call("/applications/".concat(applicationId, "/installation"), 'DELETE');
}
}
exports.default = Application;