123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- 'use strict';
- /**
- * Licensed Materials - Property of IBM
- * IBM Cognos Products: Dashboard
- * (C) Copyright IBM Corp. 2018, 2019
- * US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
- */
- define(['../lib/@waca/baglass/js/baglass/api/Url'], function (Url) {
- var _url = null;
- var _getUrl = function _getUrl() {
- if (!_url) {
- _url = new Url();
- }
- return _url;
- };
- var CMHelper = function CMHelper() {};
- CMHelper.ID = 1;
- CMHelper.DEFAULT_NAME = 2;
- CMHelper.PERMISSIONS = 4;
- CMHelper.ALL_PROPS = CMHelper.ID | CMHelper.DEFAULT_NAME | CMHelper.PERMISSIONS;
- var _getRequestedCMProperties = function _getRequestedCMProperties(value) {
- var properties = [];
- if (value & CMHelper.ID) {
- properties.push('id');
- }
- if (value & CMHelper.DEFAULT_NAME) {
- properties.push('defaultName');
- }
- if (value & CMHelper.PERMISSIONS) {
- properties.push('permissions');
- }
- return properties.length > 0 ? properties.join(',') : undefined;
- };
- CMHelper.getObjectInfo = function (contentService, storeId, options, cmProps) {
- options = options || {};
- if (!options.data) {
- var fields = _getRequestedCMProperties(cmProps || CMHelper.ALL_PROPS);
- if (fields) {
- options.data = {
- fields: fields
- };
- }
- }
- var url = contentService.getBaseObjectsURL() + '/' + storeId;
- return contentService.get(url, options);
- };
- CMHelper.getReportName = function (contentService, storeId) {
- return CMHelper.getObjectInfo(contentService, storeId, undefined, CMHelper.CM_DEFAULT_NAME).then(function (response) {
- response = response || {};
- var data = response.data || [];
- if (data.length > 0) {
- return data[0].defaultName;
- } else {
- return {
- errorCode: 404, // Since getObjectInfo didn't throw error, throw 404 for missing object
- errorKey: 'noTargetInCM'
- };
- }
- });
- };
- CMHelper.getPermissions = function (contentService, storeId) {
- return CMHelper.getObjectInfo(contentService, storeId, undefined, CMHelper.PERMISSIONS).then(function (response) {
- response = response || {};
- var data = response.data || [];
- if (data.length > 0) {
- return data[0].permissions;
- } else {
- throw new Error('Invalid CM Store Id provided');
- }
- });
- };
- CMHelper.canExecute = function (contentService, storeId) {
- return CMHelper.getPermissions(contentService, storeId).then(function (result) {
- return result && result.length > 0 && result.indexOf('execute') !== -1;
- });
- };
- CMHelper.getPathRef = function (options, storeId) {
- if (!options) {
- throw new Error('Empty glassContext option provided');
- }
- return _getUrl().getPathRef(options.glassContext, storeId);
- };
- CMHelper.getPathRefInfo = function (options, queryOptions) {
- if (!options) {
- throw new Error('Empty glassContext option provided');
- }
- if (queryOptions) {
- return _getUrl().getPathRefInfo(options.glassContext, queryOptions.storeId, queryOptions.fields, queryOptions.searchPath);
- } else {
- throw new Error('Empty query options provided');
- }
- };
- CMHelper.reset = function () {
- _url = null;
- };
- return CMHelper;
- });
- //# sourceMappingURL=CMHelper.js.map
|