1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- "use strict";
- /**
- * Licensed Materials - Property of IBM
- * IBM Cognos Products: admin
- * Copyright IBM Corp. 2016, 2017
- * US Government Users Restricted Rights -
- * Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
- */
- define(['underscore', 'bi/commons/ui/core/Class', 'bi/admin/common/utils/AJAXUtils'], function (_, Class, AJAXUtils) {
- 'use strict'; //NOSONAR: meant to be strict
- var ConnectionListController = Class.extend({
- /**
- * constructor
- */
- init: function init(options) {
- ConnectionListController.inherited('init', this, arguments);
- this.glassContext = options.glassContext;
- },
- _formatConnectionEntry: function _formatConnectionEntry(conn) {
- var writable = conn.permissions && conn.permissions.indexOf('write') > -1 ? true : false;
- return {
- id: conn.id,
- connId: conn.id,
- title: conn.defaultName,
- defaultName: conn.defaultName,
- defaultDescription: conn.defaultDescription,
- connectionString: conn.connectionString,
- modificationTime: conn.modificationTime,
- credentialNamespaces: conn.credentialNamespaces,
- apiToken: conn.apiToken,
- disabled: conn.disabled,
- hidden: conn.hidden,
- searchPath: conn.searchPath,
- writable: writable,
- creationTime: conn.creationTime,
- permissions: conn.permissions,
- gatewayDestination: conn.gatewayDestination,
- secureKey: conn.secureKey,
- type: conn.type,
- tenantID: conn.tenantID,
- owner: conn.owner
- };
- },
- _getConnections: function _getConnections(id) {
- var options = {
- method: 'GET',
- contentType: 'application/json; charset=utf-8',
- dataType: 'json'
- };
- options.url = AJAXUtils.getAJAXURL('datasources') + '/' + id + '/connections?' + encodeURIComponent('fields') + '=' + encodeURIComponent('defaultName,disabled,permissions,owner.defaultName,hidden,capabilities,hasChildren,modificationTime,creationTime,ancestors,defaultDescription,connectionString,tenantID');
- return this.glassContext.services.ajax.ajax(options);
- },
- _getConnection: function _getConnection(dsID, connID) {
- var options = {
- method: 'GET',
- contentType: 'application/json; charset=utf-8',
- dataType: 'json'
- };
- options.url = AJAXUtils.getAJAXURL('datasources') + '/' + dsID + '/connections/' + connID + '?' + encodeURIComponent('fields') + '=' + encodeURIComponent('defaultName,disabled,permissions,owner.defaultName,hidden,capabilities,hasChildren,searchPath,modificationTime,creationTime,apiToken,credentialNamespaces,ancestors,defaultDescription,connectionString,tenantID,gatewayDestination{id,parent},secureKey');
- return this.glassContext.services.ajax.ajax(options);
- },
- getConnection: function getConnection(dsID, connID) {
- return new Promise(function (resolve, reject) {
- this._getConnection(dsID, connID).then(function (data) {
- resolve(this._formatConnectionEntry(data));
- }.bind(this), reject);
- }.bind(this));
- },
- deleteConnection: function deleteConnection(connId, datasourceId) {
- var options = {
- method: 'DELETE',
- contentType: 'application/json; charset=utf-8',
- dataType: 'json'
- };
- options.url = AJAXUtils.getAJAXURL('datasources') + '/' + datasourceId + '/connections/' + connId;
- return this.glassContext.services.ajax.ajax(options);
- },
- getConnectionList: function getConnectionList(id) {
- return new Promise(function (resolve, reject) {
- this._getConnections(id).then(function (connection) {
- var sortedConns = _.sortBy(connection.data, 'defaultName');
- var items = _.map(sortedConns, this._formatConnectionEntry.bind(this), function () {
- this.glassContext.services.logger.error('Could not map connections');
- }.bind(this));
- resolve(items);
- }.bind(this), reject);
- }.bind(this));
- }
- });
- return ConnectionListController;
- });
|