123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- "use strict";
- /**
- * Licensed Materials - Property of IBM
- * IBM Cognos Products: admin
- * Copyright IBM Corp. 2018
- * US Government Users Restricted Rights -Use, duplication or disclosure
- * restricted by GSA ADP Schedule Contract with IBM Corp.
- */
- define(['underscore', 'bi/admin/common/services/BaseCustomizationService', 'bi/admin/common/utils/AJAXUtils', 'bi/admin/nls/StringResource'], function (_, BaseCustomizationService, AJAXUtils, StringResource) {
- 'use strict'; //NOSONAR: meant to be strict
- var TenantsCustomizationService = BaseCustomizationService.extend({
- getCustomizations: function getCustomizations(id) {
- return this._getCustomizations(AJAXUtils.getPath("tenantCustomizations", id));
- },
- saveCustomizations: function saveCustomizations(id) {
- return Promise.try(function () {
- return this._saveCustomizations(AJAXUtils.getPath("tenantCustomizations", id));
- }.bind(this));
- },
- _saveCustomizations: function _saveCustomizations(url) {
- if (this._customizations.fileUpload_location === ".my_folders") {
- delete this._customizations.fileUpload_location;
- url = url + "&fields=fileUpload_location";
- return this._ajaxDelete(url, 'DELETE');
- }
- if (this._customizations.ui_teamFolders && _.isEmpty(this._customizations.ui_teamFolders)) {
- delete this._customizations.ui_teamFolders;
- url = url + "&fields=ui_teamFolders";
- return this._ajaxDelete(url, 'DELETE');
- }
- return this._ajaxPut(url, this._customizations);
- },
- _getCustomizationsWithDefaults: function _getCustomizationsWithDefaults() {
- var returnValue = {
- 'ui_theme': StringResource.get('default'),
- 'ui_homePage': {
- 'perspective': StringResource.get('default')
- },
- 'ui_excludedFeatures': {
- 'ids': []
- },
- 'ui_teamFolders': {},
- 'parameters': {},
- 'contentLocale': "",
- 'productLocale': "",
- 'timeZoneID': "",
- 'baseTextDirection': "",
- 'biDirectionalFeaturesEnabled': false,
- 'fileUpload_location': null
- };
- if (this._customizations) {
- Object.keys(returnValue).forEach(this._replaceDefaultsWCustomValues.bind(this, returnValue, this._customizations));
- }
- return returnValue;
- },
- getTenant: function getTenant(id) {
- return this._ajaxGet(AJAXUtils.getPath("getTenant", id) + "&fields=defaultName,disabled,permissions,owner.defaultName,hidden,capabilities,hasChildren,searchPath,modificationTime,creationTime,ancestors,defaultDescription,tenantID,tenantMembers,id");
- },
- getTenantIDForUser: function getTenantIDForUser(userID) {
- return this._ajaxGet(AJAXUtils.getPath("tenantIDForUser", userID) + "?fields=tenantID");
- },
- _getTenants: function _getTenants() {
- return this._ajaxGet(AJAXUtils.getPath("tenants") + "?fields=defaultName,disabled,modificationTime,permissions,tenantID,storeID"); //return this._ajaxGet('v1/search/cm?filter=type|tenant');
- },
- getTenantsList: function getTenantsList() {
- return this._getTenants().then(function (tenants) {
- return tenants.data;
- }.bind(this));
- },
- addTenant: function addTenant(tenantSpec) {
- return this._ajaxPost(AJAXUtils.getPath("tenants"), tenantSpec);
- },
- updateTenant: function updateTenant(id, tenantSpec) {
- return this._ajaxPut(AJAXUtils.getPath("updateTenant", id), tenantSpec);
- },
- addTenantMembers: function addTenantMembers(id, tenantMembers) {
- return this.updateTenant(id, tenantMembers);
- },
- removeTenantMembers: function removeTenantMembers(id, tenantMembers) {
- return this.updateTenant(id, tenantMembers);
- },
- disableTenant: function disableTenant(id, tenantSpec) {
- return this.updateTenant(id, {
- 'disabled': tenantSpec
- });
- },
- deleteTenant: function deleteTenant(id, shouldDeleteTenantUserProfile) {
- if (!shouldDeleteTenantUserProfile) {
- return this._ajaxDelete(AJAXUtils.getPath("deleteTenant", id));
- } else {
- return this._ajaxDelete(AJAXUtils.getPath("deleteTenantUserProfile", id));
- }
- },
- killTenantSessions: function killTenantSessions(id) {
- return this._ajaxDelete(AJAXUtils.getPath("killTenantSessions", id));
- },
- getTenantNotificationSettings: function getTenantNotificationSettings(id) {
- return this._fetchGet(AJAXUtils.getPath("tenantNotificationSettings", id));
- },
- setTenantNotificationSettings: function setTenantNotificationSettings(id, senderEmail) {
- return this._fetchPut(AJAXUtils.getPath("tenantNotificationSettings", id), {
- "defaultSender": senderEmail
- });
- },
- getSystemNotificationSettings: function getSystemNotificationSettings() {
- return this._fetchGet(AJAXUtils.getPath("systemNotificationSettings"));
- },
- getTenantPreferences: function getTenantPreferences(id) {
- return this._fetchGet(AJAXUtils.getPath("tenantPreferences", id));
- },
- setTenantPreferences: function setTenantPreferences(id, preferences) {
- return this._fetchPut(AJAXUtils.getPath("tenantPreferences", id), preferences);
- }
- });
- return TenantsCustomizationService;
- });
|