@wavemaker/variables 11.8.0-rc.5775 → 11.8.0-rc.5868

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/variables",
3
- "version": "11.8.0-rc.5775",
3
+ "version": "11.8.0-rc.5868",
4
4
  "description": "",
5
5
  "main": "index",
6
6
  "module": "index",
package/scripts/build.js CHANGED
@@ -89,6 +89,28 @@ function postBuild(runtimeVersion) {
89
89
  });
90
90
  });
91
91
  }
92
+ function createPackageLock(path) {
93
+ return __awaiter(this, void 0, void 0, function () {
94
+ var expoPackageJSON;
95
+ return __generator(this, function (_a) {
96
+ switch (_a.label) {
97
+ case 0: return [4 /*yield*/, execa('npm', ['install', '--package-lock-only', '--ignore-scripts'], {
98
+ 'cwd': path
99
+ })];
100
+ case 1:
101
+ _a.sent();
102
+ expoPackageJSON = fs.readJSONSync(path + "/package-lock.json");
103
+ Object.values(expoPackageJSON.packages || {}).map(function (v) {
104
+ delete v.resolved;
105
+ });
106
+ fs.writeJSONSync(path + "/package-lock.json", expoPackageJSON, {
107
+ spaces: 4
108
+ });
109
+ return [2 /*return*/];
110
+ }
111
+ });
112
+ });
113
+ }
92
114
  function prepareNpmPackages(runtimeVersion) {
93
115
  return __awaiter(this, void 0, void 0, function () {
94
116
  var tarballName, tarballPath, stdout;
@@ -99,9 +121,7 @@ function prepareNpmPackages(runtimeVersion) {
99
121
  fs.copySync(projectDir + "/dist/es2015", projectDir + "/dist/npm-packages/package", {
100
122
  filter: function (p) { return !p.startsWith('/node_modules/'); }
101
123
  });
102
- return [4 /*yield*/, execa('npm', ['install', '--package-lock-only'], {
103
- 'cwd': projectDir + "/dist/npm-packages/package"
104
- })];
124
+ return [4 /*yield*/, createPackageLock(projectDir + "/dist/npm-packages/package")];
105
125
  case 1:
106
126
  _a.sent();
107
127
  return [4 /*yield*/, execa('tar', ['-czf', "dist/npm-packages/" + tarballName, '-C', 'dist/npm-packages', 'package'], {
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"./","sources":["scripts/build.js"],"names":[],"mappings":"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","sourcesContent":["const fs = require('fs-extra');\nconst path = require('path');\nconst projectDir = '.';\nconst yargs = require('yargs');\nconst { hideBin } = require('yargs/helpers');\nconst tar = require('tar');\nconst execa = require('execa');\n\nasync function updatePackageVersion(packagePath, key, version) {\n let content = fs.readFileSync(packagePath, 'utf8');\n content = content.replace(new RegExp(`\"${key}\"\\\\s*:\\\\s*\"[^\"]*\"`), `\"${key}\": \"${version}\"`);\n fs.writeFileSync(packagePath, content);\n}\n\nfunction updateSourceMapFile(path) {\n if (fs.lstatSync(path).isDirectory()) {\n fs.readdirSync(path).forEach(p => updateSourceMapFile(`${path}/${p}`));\n } else if(path.endsWith('js.map')) {\n const content = JSON.parse(fs.readFileSync(path, 'utf8'));\n content.sources[0] = content.sources[0].split('/').pop();\n fs.writeFileSync(path, JSON.stringify(content));\n }\n}\n\nasync function postBuild(runtimeVersion) {\n\n // updateSourceMapFile(`${projectDir}/dist/es2015`);\n\n fs.copySync(`${projectDir}/package.json`, `${projectDir}/dist/es2015/package.json`);\n\n const packageData = fs.readJSONSync(`${projectDir}/package.json`, {\n encoding: \"utf8\"\n });\n packageData.main = 'index';\n packageData.module = 'index';\n packageData.exports = {\n \".\": \"./index\"\n };\n delete packageData['files'];\n\n fs.writeFileSync(`${projectDir}/dist/es2015/package.json`, JSON.stringify(packageData, null, 2))\n await updatePackageVersion(`${projectDir}/dist/es2015/package.json`, 'version', runtimeVersion);\n console.log('Post Build successful!!!');\n}\n\nasync function prepareNpmPackages(runtimeVersion) {\n let tarballName=`wavemaker-variables-${runtimeVersion}.tgz`\n fs.copySync(`${projectDir}/dist/es2015`, `${projectDir}/dist/npm-packages/package`, {\n filter: p => !p.startsWith('/node_modules/')\n });\n await execa('npm', ['install', '--package-lock-only'], {\n 'cwd': `${projectDir}/dist/npm-packages/package`\n });\n await execa('tar', ['-czf', `dist/npm-packages/${tarballName}`, '-C', 'dist/npm-packages', 'package'], {\n 'cwd': `${projectDir}`\n });\n let tarballPath = path.join(__dirname, `../dist/npm-packages/${tarballName}`)\n const { stdout } = await execa('node', ['../process-npm-package-stats.js', `--path=${tarballPath}`, '--packageName=@wavemaker/variables', `--publishVersion=${runtimeVersion}`]);\n console.log(stdout);\n}\n\nasync function pushToLocalRepo() {\n fs.writeFileSync(`${projectDir}/dist/new-build`, '' + Date.now);\n await execa('yalc', ['publish' , '--no-sig', '--push'], {\n 'cwd': `${projectDir}/dist/es2015`\n });\n}\n\nyargs(hideBin(process.argv)).command('post-build',\n 'to run post processing after project build',\n (yargs) => {\n yargs.option('runtimeVersion', {\n describe: 'version number',\n type: 'string',\n default: '1.0.0-dev'\n }).option('production', {\n describe: 'to perform a production build',\n type: 'boolean',\n default: false\n });\n }, (argv) => {\n postBuild(argv.runtimeVersion).then(() => {\n if (argv.production) {\n return prepareNpmPackages(argv.runtimeVersion);\n } else {\n return pushToLocalRepo();\n }\n });\n }).showHelpOnFail().argv;\n"]}
1
+ {"version":3,"file":"build.js","sourceRoot":"./","sources":["scripts/build.js"],"names":[],"mappings":"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","sourcesContent":["const fs = require('fs-extra');\nconst path = require('path');\nconst projectDir = '.';\nconst yargs = require('yargs');\nconst { hideBin } = require('yargs/helpers');\nconst tar = require('tar');\nconst execa = require('execa');\n\nasync function updatePackageVersion(packagePath, key, version) {\n let content = fs.readFileSync(packagePath, 'utf8');\n content = content.replace(new RegExp(`\"${key}\"\\\\s*:\\\\s*\"[^\"]*\"`), `\"${key}\": \"${version}\"`);\n fs.writeFileSync(packagePath, content);\n}\n\nfunction updateSourceMapFile(path) {\n if (fs.lstatSync(path).isDirectory()) {\n fs.readdirSync(path).forEach(p => updateSourceMapFile(`${path}/${p}`));\n } else if(path.endsWith('js.map')) {\n const content = JSON.parse(fs.readFileSync(path, 'utf8'));\n content.sources[0] = content.sources[0].split('/').pop();\n fs.writeFileSync(path, JSON.stringify(content));\n }\n}\n\nasync function postBuild(runtimeVersion) {\n\n // updateSourceMapFile(`${projectDir}/dist/es2015`);\n\n fs.copySync(`${projectDir}/package.json`, `${projectDir}/dist/es2015/package.json`);\n\n const packageData = fs.readJSONSync(`${projectDir}/package.json`, {\n encoding: \"utf8\"\n });\n packageData.main = 'index';\n packageData.module = 'index';\n packageData.exports = {\n \".\": \"./index\"\n };\n delete packageData['files'];\n\n fs.writeFileSync(`${projectDir}/dist/es2015/package.json`, JSON.stringify(packageData, null, 2))\n await updatePackageVersion(`${projectDir}/dist/es2015/package.json`, 'version', runtimeVersion);\n console.log('Post Build successful!!!');\n}\n\nasync function createPackageLock(path) {\n await execa('npm', ['install', '--package-lock-only', '--ignore-scripts'], {\n 'cwd': path\n });\n const expoPackageJSON = fs.readJSONSync(`${path}/package-lock.json`);\n Object.values(expoPackageJSON.packages || {}).map(v => {\n delete v.resolved;\n });\n fs.writeJSONSync(`${path}/package-lock.json`, expoPackageJSON, {\n spaces: 4\n });\n}\n\nasync function prepareNpmPackages(runtimeVersion) {\n let tarballName=`wavemaker-variables-${runtimeVersion}.tgz`\n fs.copySync(`${projectDir}/dist/es2015`, `${projectDir}/dist/npm-packages/package`, {\n filter: p => !p.startsWith('/node_modules/')\n });\n await createPackageLock(`${projectDir}/dist/npm-packages/package`);\n await execa('tar', ['-czf', `dist/npm-packages/${tarballName}`, '-C', 'dist/npm-packages', 'package'], {\n 'cwd': `${projectDir}`\n });\n let tarballPath = path.join(__dirname, `../dist/npm-packages/${tarballName}`)\n const { stdout } = await execa('node', ['../process-npm-package-stats.js', `--path=${tarballPath}`, '--packageName=@wavemaker/variables', `--publishVersion=${runtimeVersion}`]);\n console.log(stdout);\n}\n\nasync function pushToLocalRepo() {\n fs.writeFileSync(`${projectDir}/dist/new-build`, '' + Date.now);\n await execa('yalc', ['publish' , '--no-sig', '--push'], {\n 'cwd': `${projectDir}/dist/es2015`\n });\n}\n\nyargs(hideBin(process.argv)).command('post-build',\n 'to run post processing after project build',\n (yargs) => {\n yargs.option('runtimeVersion', {\n describe: 'version number',\n type: 'string',\n default: '1.0.0-dev'\n }).option('production', {\n describe: 'to perform a production build',\n type: 'boolean',\n default: false\n });\n }, (argv) => {\n postBuild(argv.runtimeVersion).then(() => {\n if (argv.production) {\n return prepareNpmPackages(argv.runtimeVersion);\n } else {\n return pushToLocalRepo();\n }\n });\n }).showHelpOnFail().argv;\n"]}
@@ -13,13 +13,13 @@ var __extends = (this && this.__extends) || (function () {
13
13
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
14
  };
15
15
  })();
16
- import { getClonedObject, getValidJSON, isDefined, isPageable, isValidWebURL, triggerFn, noop, xmlToJson } from "../../util/utils";
16
+ import { getClonedObject, getValidJSON, isDefined, isPageable, isValidWebURL, noop, triggerFn, xmlToJson } from "../../util/utils";
17
17
  import { upload } from '../../util/file-upload.util';
18
18
  import { ServiceVariableUtils } from '../../util/variable/service-variable.utils';
19
19
  import { $queue } from '../../util/inflight-queue';
20
20
  import { BaseVariableManager } from './base-variable.manager';
21
21
  import { CONSTANTS, VARIABLE_CONSTANTS, WS_CONSTANTS } from '../../constants/variables.constants';
22
- import { appManager, formatExportExpression, setInput, decodeData, metadataService, getErrMessage } from './../../util/variable/variables.utils';
22
+ import { appManager, decodeData, formatExportExpression, getErrMessage, metadataService, setInput } from './../../util/variable/variables.utils';
23
23
  import { getEvaluatedOrderBy, initiateCallback, securityService } from '../../util/variable/variables.utils';
24
24
  import { getAccessToken, performAuthorization, removeAccessToken } from '../../util/oAuth.utils';
25
25
  import { PaginationUtils } from '../../util/variable/pagination.utils';
@@ -170,7 +170,20 @@ var ServiceVariableManager = /** @class */ (function (_super) {
170
170
  _this.fileUploadCount++;
171
171
  _this.successFileUploadCount++;
172
172
  _this.fileUploadResponse.push(data[0]);
173
- if (_this.totalFilesCount === _this.fileUploadCount) {
173
+ file._response = data[0];
174
+ if (data && data[0] && data[0].success === false) {
175
+ if (variable._progressObservable) {
176
+ variable._progressObservable.next({
177
+ 'status': "error",
178
+ 'fileName': file.name,
179
+ 'errMsg': data[0].errorMessage,
180
+ 'uniqueId': file.uniqueId
181
+ });
182
+ }
183
+ _this.fileUploadResponse = [];
184
+ _this.processErrorResponse(variable, data[0].errorMessage, error, data, options.skipNotification);
185
+ }
186
+ if (_this.totalFilesCount === _this.fileUploadCount && data[0].success === true) {
174
187
  if (_this.failedFileUploadCount === 0) {
175
188
  _this.processSuccessResponse(_this.fileUploadResponse, variable, options, success);
176
189
  _this.fileUploadResponse = [];
@@ -198,7 +211,8 @@ var ServiceVariableManager = /** @class */ (function (_super) {
198
211
  variable._progressObservable.next({
199
212
  'status': "error",
200
213
  'fileName': file.name,
201
- 'errMsg': errMsg
214
+ 'errMsg': errMsg,
215
+ 'uniqueId': file.uniqueId
202
216
  });
203
217
  }
204
218
  if (_this.totalFilesCount === _this.fileUploadCount) {
@@ -214,7 +228,8 @@ var ServiceVariableManager = /** @class */ (function (_super) {
214
228
  variable._progressObservable.next({
215
229
  'progress': data,
216
230
  'status': VARIABLE_CONSTANTS.EVENT.PROGRESS,
217
- 'fileName': file.name
231
+ 'fileName': file.name,
232
+ 'uniqueId': file.uniqueId
218
233
  });
219
234
  }
220
235
  initiateCallback(VARIABLE_CONSTANTS.EVENT.PROGRESS, variable, data);
@@ -493,6 +508,10 @@ var ServiceVariableManager = /** @class */ (function (_super) {
493
508
  var data = _this.processSuccessResponse(res, variable, _.extend(options, { 'xhrObj': response }), success, response.headers);
494
509
  // notify variable success
495
510
  _this.notifyInflight(variable, false, data);
511
+ if (ServiceVariableUtils.isFileDeleteRequest(variable) && variable._deleteFileObservable) {
512
+ variable._deleteFileObservable.next({ 'status': "success", response: res });
513
+ appManager && appManager.notifyApp(appManager.getAppLocale().MESSAGE_FILE_DELETE_SUCCESS || "File delete success", 'success');
514
+ }
496
515
  resolve(response);
497
516
  }
498
517
  };
@@ -501,6 +520,14 @@ var ServiceVariableManager = /** @class */ (function (_super) {
501
520
  // notify variable error
502
521
  _this.notifyInflight(variable, false);
503
522
  _this.processErrorResponse(variable, errMsg, error, err, options.skipNotification);
523
+ if (ServiceVariableUtils.isFileDeleteRequest(variable) && variable._deleteFileObservable) {
524
+ variable._deleteFileObservable.error({
525
+ status: "error",
526
+ error: errMsg,
527
+ details: err
528
+ });
529
+ appManager && appManager.notifyApp(appManager.getAppLocale().MESSAGE_FILE_DELETE_ERROR || 'File delete failed', 'error');
530
+ }
504
531
  reject({
505
532
  error: errMsg,
506
533
  details: err
@@ -1 +1 @@
1
- {"version":3,"file":"service-variable.manager.js","sourceRoot":"./","sources":["src/manager/variable/service-variable.manager.ts"],"names":[],"mappings":"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","sourcesContent":["import { getClonedObject, getValidJSON, isDefined, isPageable, isValidWebURL, triggerFn, noop, xmlToJson } from \"../../util/utils\";\n\nimport { upload } from '../../util/file-upload.util';\nimport { ServiceVariable } from '../../model/variable/service-variable';\nimport { ServiceVariableUtils } from '../../util/variable/service-variable.utils';\nimport { $queue } from '../../util/inflight-queue';\nimport { BaseVariableManager } from './base-variable.manager';\nimport { CONSTANTS, VARIABLE_CONSTANTS, WS_CONSTANTS } from '../../constants/variables.constants';\nimport { appManager, formatExportExpression, setInput, decodeData, metadataService, getErrMessage } from './../../util/variable/variables.utils';\nimport { getEvaluatedOrderBy, initiateCallback, securityService } from '../../util/variable/variables.utils';\nimport { getAccessToken, performAuthorization, removeAccessToken } from '../../util/oAuth.utils';\nimport { AdvancedOptions } from '../../advanced-options';\nimport { PaginationUtils } from '../../util/variable/pagination.utils';\nimport { VariableEvents } from \"../../model/base-variable\";\n\nimport _ from \"lodash\";\n\nexport class ServiceVariableManager extends BaseVariableManager {\n\n fileUploadResponse: any = [];\n fileUploadCount = 0;\n totalFilesCount = 0;\n successFileUploadCount = 0;\n failedFileUploadCount = 0;\n\n /**\n * function to process error response from a service\n * @param {ServiceVariable} variable\n * @param {string} errMsg\n * @param {Function} errorCB\n * @param xhrObj\n * @param {boolean} skipNotification\n * @param {boolean} skipDefaultNotification\n */\n protected processErrorResponse(variable: ServiceVariable, errMsg: string, errorCB: Function, xhrObj?: any, skipNotification?: boolean, skipDefaultNotification?: boolean, ) {\n const methodInfo = this.getMethodInfo(variable, {}, {});\n const securityDefnObj = _.get(methodInfo, 'securityDefinitions.0');\n const advancedOptions: AdvancedOptions = this.prepareCallbackOptions(xhrObj);\n // EVENT: ON_ERROR\n if (!skipNotification) {\n initiateCallback(VARIABLE_CONSTANTS.EVENT.ERROR, variable, errMsg, advancedOptions, skipDefaultNotification);\n }\n if (_.get(securityDefnObj, 'type') === VARIABLE_CONSTANTS.REST_SERVICE.SECURITY_DEFN.OAUTH2\n && _.includes([VARIABLE_CONSTANTS.HTTP_STATUS_CODE.UNAUTHORIZED, VARIABLE_CONSTANTS.HTTP_STATUS_CODE.FORBIDDEN], _.get(xhrObj, 'status'))) {\n removeAccessToken(securityDefnObj['x-WM-PROVIDER_ID']);\n }\n /* trigger error callback */\n triggerFn(errorCB, errMsg);\n \n variable.notify(VariableEvents.AFTER_INVOKE, [this, errMsg]);\n if (!CONSTANTS.isStudioMode) {\n /* process next requests in the queue */\n variable.canUpdate = true;\n $queue.process(variable);\n\n // EVENT: ON_CAN_UPDATE\n initiateCallback(VARIABLE_CONSTANTS.EVENT.CAN_UPDATE, variable, errMsg, advancedOptions);\n }\n }\n\n /**\n * function to process success response from a service\n * @param response\n * @param variable\n * @param options\n * @param success\n */\n protected processSuccessResponse(response, variable, options, success, resHeaders?, operationInf?) {\n let dataSet;\n let newDataSet;\n let pagination = {};\n let advancedOptions: AdvancedOptions;\n let jsonParsedResponse: any = getValidJSON(response);\n\n response = isDefined(jsonParsedResponse) ? jsonParsedResponse : (response && xmlToJson(response) || response);\n\n const isResponsePageable = isPageable(response);\n if (variable.serviceType === 'DataService' || variable.serviceType === 'JavaService') {\n const decodedData = decodeData(response);\n if (_.isString(response)) {\n response = decodedData;\n }\n }\n if (isResponsePageable) {\n dataSet = response.content;\n pagination = _.omit(response, 'content');\n } else {\n dataSet = response;\n }\n /**\n * send pagination object with advancedOptions all the time.\n * With this, user can provide pagination option, even if it is not there.\n * applicable to 3rd party services that do not support pagination out of the box.\n */\n advancedOptions = this.prepareCallbackOptions(options.xhrObj, {pagination: pagination, rawData: dataSet});\n\n // EVENT: ON_RESULT\n initiateCallback(VARIABLE_CONSTANTS.EVENT.RESULT, variable, response, advancedOptions);\n\n // trigger success callback, pass data received from server as it is.\n triggerFn(success, response, pagination);\n\n /* if dataTransformation enabled, transform the data */\n if (variable.transformationColumns) {\n this.transformData(response, variable);\n }\n\n // if a primitive type response is returned, wrap it in an object\n dataSet = (!_.isObject(dataSet)) ? {'value': dataSet} : dataSet;\n\n // EVENT: ON_PREPARE_SETDATA\n newDataSet = initiateCallback(VARIABLE_CONSTANTS.EVENT.PREPARE_SETDATA, variable, dataSet, advancedOptions);\n if (isDefined(newDataSet)) {\n // setting newDataSet as the response to service variable onPrepareSetData\n dataSet = newDataSet;\n }\n\n const inputFields = getClonedObject(options.inputFields || variable.dataBinding);\n\n // WMS-22361 : For crud variable, apply operation info recived else deduce for service variables\n const operationInfo = operationInf ? operationInf : this.getMethodInfo(variable, inputFields, options);\n const paginationInfo = PaginationUtils.getPaginationInfo(operationInfo, variable);\n if (paginationInfo) {\n const res = PaginationUtils.generatePaginationRes(operationInfo, paginationInfo, response, resHeaders, options, variable);\n if (!_.isEmpty(res)) {\n PaginationUtils.setVariablePagination(variable, res, options);\n }\n }\n\n /* update the dataset against the variable, if response is non-object, insert the response in 'value' field of dataSet */\n if (!options.forceRunMode && !options.skipDataSetUpdate) {\n if (!variable._paginationConfig) {\n variable.pagination = pagination;\n }\n variable.dataSet = dataSet;\n\n // legacy properties in dataSet, [content]\n if (isResponsePageable) {\n Object.defineProperty(variable.dataSet, 'content', {\n get: () => {\n return variable.dataSet;\n }\n });\n }\n }\n variable.notify(VariableEvents.AFTER_INVOKE, [this, dataSet]);\n setTimeout(() => {\n // EVENT: ON_SUCCESS\n initiateCallback(VARIABLE_CONSTANTS.EVENT.SUCCESS, variable, dataSet, advancedOptions);\n if (!CONSTANTS.isStudioMode) {\n /* process next requests in the queue */\n variable.canUpdate = true;\n $queue.process(variable);\n }\n\n // EVENT: ON_CAN_UPDATE\n initiateCallback(VARIABLE_CONSTANTS.EVENT.CAN_UPDATE, variable, dataSet, advancedOptions);\n });\n\n return {\n data: variable.dataSet,\n pagination: variable.pagination\n };\n }\n\n protected uploadFileInFormData(variable: ServiceVariable, options: any, success: Function, error: Function, file, requestParams) {\n const promise = upload(file, variable, requestParams.data, {\n fileParamName: 'files',\n url: requestParams.url\n });\n (promise as any).then((data) => {\n this.fileUploadCount++;\n this.successFileUploadCount++;\n this.fileUploadResponse.push(data[0]);\n if (this.totalFilesCount === this.fileUploadCount) {\n if (this.failedFileUploadCount === 0) {\n this.processSuccessResponse(this.fileUploadResponse, variable, options, success);\n this.fileUploadResponse = [];\n if (!variable.onSuccess) {\n appManager && appManager.notifyApp(appManager.getAppLocale().MESSAGE_FILE_UPLOAD_SUCCESS, 'success');\n }\n } else {\n initiateCallback(VARIABLE_CONSTANTS.EVENT.ERROR, variable, this.fileUploadResponse);\n this.fileUploadResponse = [];\n appManager && appManager.notifyApp(appManager.getAppLocale().MESSAGE_FILE_UPLOAD_ERROR, 'error');\n }\n this.fileUploadCount = 0;\n this.successFileUploadCount = 0;\n this.totalFilesCount = 0;\n }\n return data;\n }, (e) => {\n this.fileUploadCount++;\n this.failedFileUploadCount++;\n this.fileUploadResponse.push(e);\n const errMsg = getErrMessage(e, variable.httpService.getLocale());\n // if a file upload failed, notify the progress listener to take action\n if (variable._progressObservable) {\n variable._progressObservable.next({\n 'status': \"error\",\n 'fileName': file.name,\n 'errMsg': errMsg\n });\n }\n if (this.totalFilesCount === this.fileUploadCount) {\n this.processErrorResponse(variable, errMsg, error, e, options.skipNotification);\n this.fileUploadResponse = [];\n this.fileUploadCount = 0;\n this.failedFileUploadCount = 0;\n this.totalFilesCount = 0;\n }\n return e;\n }, (data) => {\n if (variable._progressObservable) {\n variable._progressObservable.next({\n 'progress': data,\n 'status': VARIABLE_CONSTANTS.EVENT.PROGRESS,\n 'fileName': file.name});\n }\n initiateCallback(VARIABLE_CONSTANTS.EVENT.PROGRESS, variable, data);\n return data;\n });\n return promise;\n }\n\n /**\n * Checks if the user is logged in or not and returns appropriate error\n * If user is not logged in, Session timeout logic is run, for user to login\n * @param variable\n * @returns {any}\n */\n private handleAuthError(variable, success, errorCB, options) {\n const isUserAuthenticated = _.get(securityService.get(), 'authenticated');\n let info;\n\n if (isUserAuthenticated) {\n info = {\n error: {\n message: 'You\\'re not authorised to access the resource \"' + variable.service + '\".'\n }\n };\n } else {\n info = {\n error: {\n message: 'You\\'re not authenticated to access the resource \"' + variable.service + '\".',\n skipDefaultNotification: true\n }\n };\n appManager.pushToSessionFailureRequests(variable.invoke.bind(variable, options, success, errorCB));\n appManager.handle401();\n }\n console.warn(variable.name + ': ' + info.error.message);\n return info;\n }\n\n /**\n * Handles error, when variable's metadata is not found. The reason for this can be:\n * - API is secure and user is not logged in\n * - API is secure and user is logged in but not authorized\n * - The servicedefs are not generated properly at the back end (need to edit the variable and re-run the project)\n * @param info\n * @param variable\n * @param errorCB\n * @param options\n */\n protected handleRequestMetaError(info, variable, success, errorCB, options) {\n try {\n const err_type = _.get(info, 'error.type');\n\n switch (err_type) {\n case VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.NO_ACCESSTOKEN:\n performAuthorization(undefined, info.securityDefnObj[VARIABLE_CONSTANTS.REST_SERVICE.OAUTH_PROVIDER_KEY], this.invoke.bind(this, variable, options, success, errorCB), null, this.getProviderInfo(variable, info.securityDefnObj['x-WM-PROVIDER_ID']));\n this.processErrorResponse(variable, info.error.message, errorCB, options.xhrObj, true, true);\n break;\n case VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.USER_UNAUTHORISED:\n info = this.handleAuthError(variable, success, errorCB, options);\n this.processErrorResponse(variable, info.error.message, errorCB, options.xhrObj, options.skipNotification, info.error.skipDefaultNotification);\n break;\n case VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.METADATA_MISSING:\n case VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.CRUD_OPERATION_MISSING:\n if (info.error.message) {\n info.error.message = info.error.message.replace('$variable', variable.name);\n let reasons;\n if (err_type === VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.METADATA_MISSING) {\n reasons = ['1. You did not Preview the app after creating a Variable for the imported service.', '2. You deleted the imported service this Variable is linked to.'];\n } else {\n reasons = ['1. You haven\\'t chosen an endpoint for ' + options.operation + ' operation for this Entity.'];\n }\n console.warn(info.error.message + '\\n Possible reasons for this:\\n ' + reasons.join('\\n '));\n }\n this.processErrorResponse(variable, info.error.message, errorCB, options.xhrObj, options.skipNotification, info.error.skipDefaultNotification);\n break;\n default:\n if (info.error.message) {\n console.warn(info.error.message, variable.name);\n this.processErrorResponse(variable, info.error.message, errorCB, options.xhrObj, options.skipNotification, info.error.skipDefaultNotification);\n }\n }\n } catch(err) {\n console.error(err);\n }\n return info;\n }\n\n /**\n * function to transform the service data as according to the variable configuration\n * this is used when 'transformationColumns' property is set on the variable\n * @param data: data returned from the service\n * @variable: variable object triggering the service\n */\n private transformData(data, variable) {\n data.wmTransformedData = [];\n\n const columnsArray = variable.transformationColumns,\n dataArray = _.get(data, variable.dataField) || [],\n transformedData = data.wmTransformedData;\n\n _.forEach(dataArray, function (datum, index) {\n transformedData[index] = {};\n _.forEach(columnsArray, function (column, columnIndex) {\n transformedData[index][column] = datum[columnIndex];\n });\n });\n }\n\n\n /**\n * gets the service operation info against a service variable\n * this is extracted from the metadataservice\n * @param variable\n * @param inputFields: sample values, if provided, will be set against params in the definition\n * @param options\n * @returns {any}\n */\n private getMethodInfo(variable, inputFields, options) {\n let methodInfo;\n if (!_.isEmpty(metadataService)) {\n const serviceDef = getClonedObject(metadataService.getByOperationId(variable.operationId, variable.getPrefabName()));\n methodInfo = serviceDef === null ? null : _.get(serviceDef, 'wmServiceOperationInfo');\n } else {\n methodInfo = variable.serviceInfo;\n }\n\n if (!methodInfo) {\n return methodInfo;\n }\n const securityDefnObj = _.get(methodInfo.securityDefinitions, '0'),\n isOAuthTypeService = securityDefnObj && (securityDefnObj.type === VARIABLE_CONSTANTS.REST_SERVICE.SECURITY_DEFN.OAUTH2);\n if (methodInfo.parameters) {\n methodInfo.parameters.forEach(function (param) {\n // Ignore readOnly params in case of formData file params will be duplicated\n if (param.readOnly) {\n return;\n }\n param.sampleValue = inputFields[param.name];\n /* supporting pagination for query service variable */\n if (VARIABLE_CONSTANTS.PAGINATION_PARAMS.indexOf(param.name) !== -1) {\n if (param.name === 'size') {\n param.sampleValue = options.size || param.sampleValue || parseInt(variable.maxResults, 10);\n } else if (param.name === 'page') {\n param.sampleValue = options.page || param.sampleValue || 1;\n } else if (param.name === 'sort') {\n param.sampleValue = getEvaluatedOrderBy(variable.orderBy, options.orderBy) || param.sampleValue || '';\n }\n } else if (param.name === 'access_token' && isOAuthTypeService) {\n param.sampleValue = getAccessToken(securityDefnObj[VARIABLE_CONSTANTS.REST_SERVICE.OAUTH_PROVIDER_KEY], null);\n }\n });\n }\n return methodInfo;\n }\n\n\n /**\n * gets the provider info against a service variable's provider\n * this is extracted from the metadataservice\n * @param variable\n * @param providerId\n * @returns {any}\n */\n private getProviderInfo(variable, providerId) {\n return getClonedObject(metadataService?.getByProviderId(providerId, variable.getPrefabName()));\n }\n\n /**\n * Returns true if any of the files are in onProgress state\n */\n private isFileUploadInProgress(dataBindings) {\n let filesStatus = false;\n _.forEach(dataBindings, (dataBinding) => {\n if (_.isArray(dataBinding) && dataBinding[0] instanceof File) {\n _.forEach(dataBinding, (file) => {\n if (file.status === 'onProgress') {\n filesStatus = true;\n return;\n }\n });\n }\n });\n return filesStatus;\n }\n\n // Makes the call for Uploading file/ files\n protected uploadFile(variable, options, success, error, inputFields, requestParams ) {\n let fileParamCount = 0;\n const fileArr: any = [], promArr: any = [];\n _.forEach(inputFields, (inputField) => {\n if (_.isArray(inputField)) {\n if (inputField[0] instanceof File) {\n fileParamCount++;\n }\n _.forEach(inputField, (input) => {\n if (input instanceof File || _.find(_.values(input), o => o instanceof Blob)) {\n fileArr.push(input);\n this.totalFilesCount++;\n fileParamCount = fileParamCount || 1;\n }\n });\n } else {\n if (inputField instanceof File) {\n fileParamCount++;\n this.totalFilesCount++;\n fileArr.push(inputField);\n }\n }\n });\n if (fileParamCount === 1) {\n if (inputFields.files.length > 1) {\n _.forEach(fileArr, (file) => {\n promArr.push(this.uploadFileInFormData(variable, options, success, error, file, requestParams));\n });\n return Promise.all(promArr);\n } else {\n return this.uploadFileInFormData(variable, options, success, error, fileArr[0], requestParams);\n }\n }\n }\n\n /**\n * proxy for the invoke call\n * Request Info is constructed\n * if error found, error is thrown\n * else, call is made\n * @param {ServiceVariable} variable\n * @param options\n * @param {Function} success\n * @param {Function} error\n * @returns {any}\n * @private\n */\n protected _invoke (variable: ServiceVariable, options: any, success: Function, error: Function) {\n let inputFields = getClonedObject(options.inputFields || variable.dataBinding);\n // EVENT: ON_BEFORE_UPDATE\n const output: any = initiateCallback(VARIABLE_CONSTANTS.EVENT.BEFORE_UPDATE, variable, inputFields, options);\n let successHandler;\n let errorHandler;\n\n if (output === false) {\n $queue.process(variable);\n triggerFn(error);\n return;\n }\n if (_.isObject(output)) {\n inputFields = output;\n }\n\n const operationInfo = this.getMethodInfo(variable, inputFields, options);\n const requestParams = ServiceVariableUtils.constructRequestParams(variable, operationInfo, inputFields, options);\n // check errors\n if (requestParams.error) {\n const info = this.handleRequestMetaError(requestParams, variable, success, error, options);\n const reason = (_.get(info, 'error.message') || 'An error occurred while triggering the variable: ') + ': ' + variable.name;\n triggerFn(error);\n $queue.process(variable);\n return Promise.reject(reason);\n }\n\n // file upload\n if (ServiceVariableUtils.isFileUploadRequest(variable)) {\n const uploadPromise = this.uploadFile(variable, options, success, error, inputFields, requestParams);\n if (uploadPromise) {\n return uploadPromise;\n }\n }\n\n // file download\n if (operationInfo && _.isArray(operationInfo.produces) && _.includes(operationInfo.produces, WS_CONSTANTS.CONTENT_TYPES.OCTET_STREAM) && variable.simulateFileDownload) {\n // ToDo - variable seperation\n return variable.simulateFileDownload(requestParams, variable.dataBinding.file || variable.name, variable.dataBinding.exportType, function () {\n initiateCallback(VARIABLE_CONSTANTS.EVENT.SUCCESS, variable, null, null, null);\n $queue.process(variable);\n triggerFn(success);\n }, function () {\n initiateCallback(VARIABLE_CONSTANTS.EVENT.ERROR, variable, null, null, null);\n $queue.process(variable);\n triggerFn(error);\n },variable.dataBinding);\n }\n\n // notify variable progress\n this.notifyInflight(variable, !options.skipToggleState);\n\n successHandler = (response, resolve) => {\n if (response && response.type || response && response.status) {\n const res = response.body || response.data;\n const data = this.processSuccessResponse(res, variable, _.extend(options, {'xhrObj': response}), success, response.headers);\n // notify variable success\n this.notifyInflight(variable, false, data);\n resolve(response);\n }\n };\n\n errorHandler = (err, reject) => {\n const errMsg = getErrMessage(err, variable.httpService.getLocale());\n // notify variable error\n this.notifyInflight(variable, false);\n this.processErrorResponse(variable, errMsg, error, err, options.skipNotification);\n reject({\n error: errMsg,\n details: err\n });\n };\n\n // make the call and return a promise to the user to support script calls made by users\n return new Promise((resolve, reject) => {\n requestParams.responseType = 'text'; // this is to return text response. JSON & XML-to-JSON parsing is handled in success handler.\n // ToDo - variable seperation\n // this.httpCall(requestParams, variable).then((response) => {\n // successHandler(response, resolve);\n // }, err => {\n // const validJSON = getValidJSON(err.error);\n // err.error = isDefined(validJSON) ? validJSON : err.error;\n // errorHandler(err, reject);\n // });\n // the _observable property on variable is used store the observable using which the network call is made\n // this can be used to cancel the variable calls.\n variable.httpService.sendCall(requestParams, variable).then((response) => {\n successHandler(response, resolve);\n }).catch(err => {\n err = err || {};\n err.error = err.error || '{}';\n const validJSON = getValidJSON(err.error);\n err.error = isDefined(validJSON) ? validJSON : err.error;\n errorHandler(err, reject);\n });\n });\n }\n\n // *********************************************************** PUBLIC ***********************************************************//\n\n public invoke(variable, options, success, error) {\n options = options || {};\n // appManager.notify('check-state-persistence-options', {\n // options: options,\n // variable: variable\n // });\n options.inputFields = options.inputFields || getClonedObject(variable.dataBinding);\n return $queue.submit(variable).then(this._invoke.bind(this, variable, options, success, error), error);\n }\n\n public setPagination(variable, data) {\n variable._paginationConfig = data;\n }\n\n public download(variable, options, successHandler, errorHandler) {\n options = options || {};\n const inputParams = getClonedObject(variable.dataBinding);\n const inputData = options.data || {};\n const methodInfo = this.getMethodInfo(variable, inputParams, options);\n let requestParams;\n\n methodInfo.relativePath += '/export';\n requestParams = ServiceVariableUtils.constructRequestParams(variable, methodInfo, inputParams);\n\n requestParams.data = inputData;\n requestParams.data.fields = formatExportExpression(inputData.fields || []);\n\n // extra options provided, these may be used in future for integrating export feature with ext. services\n requestParams.method = options.httpMethod || 'POST';\n requestParams.url = options.url || requestParams.url;\n\n // If request params returns error then show an error toaster\n if (_.hasIn(requestParams, 'error.message')) {\n triggerFn(errorHandler, requestParams.error.message);\n return Promise.reject(requestParams.error.message);\n }\n return variable.httpService.send(requestParams).then(response => {\n if (response && isValidWebURL(response.body.result)) {\n window.location.href = response.body.result;\n triggerFn(successHandler, response);\n } else {\n initiateCallback(VARIABLE_CONSTANTS.EVENT.ERROR, variable, response);\n triggerFn(errorHandler, response);\n }\n }, (response, xhrObj) => {\n initiateCallback(VARIABLE_CONSTANTS.EVENT.ERROR, variable, response, xhrObj);\n triggerFn(errorHandler, response);\n });\n }\n\n public getInputParms(variable) {\n let wmServiceOperationInfo;\n if (!_.isEmpty(metadataService)) {\n wmServiceOperationInfo = _.get(metadataService.getByOperationId(variable.operationId, variable.getPrefabName()), 'wmServiceOperationInfo');\n } else {\n wmServiceOperationInfo = variable.serviceInfo;\n }\n return _.get(wmServiceOperationInfo, 'parameters');\n }\n\n public setInput(variable, key, val, options) {\n return setInput(variable.dataBinding, key, val, options);\n }\n\n /**\n * Cancels an on going service request\n * @param variable\n * @param $file\n */\n public cancel(variable, $file?) {\n // CHecks if there is any pending requests in the queue\n if ($queue.requestsQueue.has(variable)) {\n // If the request is a File upload request then modify the elements associated with file upload\n // else unsubscribe from the observable on the variable.\n if (ServiceVariableUtils.isFileUploadRequest(variable)) {\n variable.httpService.cancel(variable, $file);\n $file.status = 'abort';\n this.totalFilesCount--;\n initiateCallback(VARIABLE_CONSTANTS.EVENT.ABORT, variable, $file);\n if (!this.isFileUploadInProgress(variable.dataBinding) && this.totalFilesCount === 0) {\n $queue.process(variable);\n // notify inflight variable\n this.notifyInflight(variable, false);\n }\n } else {\n if (variable.httpService.cancel) {\n variable.httpService.cancel(variable);\n $queue.process(variable);\n // notify inflight variable\n this.notifyInflight(variable, false);\n }\n }\n }\n }\n\n public defineFirstLastRecord(variable) {\n if (variable.isList) {\n Object.defineProperty(variable, 'firstRecord', {\n 'configurable': true,\n 'get': function () {\n const dataSet = variable.dataSet;\n // For procedure(v1) data doesn't come under content\n return _.head(dataSet && dataSet.content) || _.head(dataSet) || {};\n }\n });\n Object.defineProperty(variable, 'lastRecord', {\n 'configurable': true,\n 'get': function () {\n const dataSet = variable.dataSet;\n // For procedure(v1) data doesn't come under content\n return _.last(dataSet && dataSet.content) || _.last(dataSet) || {};\n }\n });\n }\n }\n\n // Gets the input params of the service variable and also add params from the searchKeys (filterfields)\n private getQueryParams(filterFields, searchValue, variable) {\n const inputParams = this.getInputParms(variable);\n const queryParams = ServiceVariableUtils.excludePaginationParams(inputParams);\n const inputFields = {};\n\n // check if some param value is already available in databinding and update the inputFields accordingly\n _.map(variable.dataBinding, function (value, key) {\n inputFields[key] = value;\n });\n\n // add the query params mentioned in the searchkey to inputFields\n _.forEach(filterFields, function (value) {\n if (_.includes(queryParams, value)) {\n inputFields[value] = searchValue;\n }\n });\n\n return inputFields;\n }\n\n /**\n * This method returns filtered records based on searchKey and queryText.\n * @param variable\n * @param options\n * @param success\n * @param error\n * @returns {Promise<any>}\n */\n public searchRecords(variable, options, success, error) {\n const inputFields = this.getQueryParams(_.split(options.searchKey, ','), options.query, variable);\n\n const requestParams = {\n page: options.page,\n pagesize: options.pagesize,\n skipDataSetUpdate: true, // dont update the actual variable dataset,\n skipToggleState: true, // Dont change the varibale toggle state as this is a independent call\n inFlightBehavior: 'executeAll',\n inputFields: inputFields\n };\n\n if (options.onBeforeservicecall) {\n options.onBeforeservicecall(inputFields);\n }\n\n return this.invoke(variable, requestParams, success, error).catch(noop);\n }\n}\n\n"]}
1
+ {"version":3,"file":"service-variable.manager.js","sourceRoot":"./","sources":["src/manager/variable/service-variable.manager.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n getClonedObject,\n getValidJSON,\n isDefined,\n isPageable,\n isValidWebURL,\n noop,\n triggerFn,\n xmlToJson\n} from \"../../util/utils\";\n\nimport {upload} from '../../util/file-upload.util';\nimport {ServiceVariable} from '../../model/variable/service-variable';\nimport {ServiceVariableUtils} from '../../util/variable/service-variable.utils';\nimport {$queue} from '../../util/inflight-queue';\nimport {BaseVariableManager} from './base-variable.manager';\nimport {CONSTANTS, VARIABLE_CONSTANTS, WS_CONSTANTS} from '../../constants/variables.constants';\nimport {\n appManager,\n decodeData,\n formatExportExpression,\n getErrMessage,\n metadataService,\n setInput\n} from './../../util/variable/variables.utils';\nimport {getEvaluatedOrderBy, initiateCallback, securityService} from '../../util/variable/variables.utils';\nimport {getAccessToken, performAuthorization, removeAccessToken} from '../../util/oAuth.utils';\nimport {AdvancedOptions} from '../../advanced-options';\nimport {PaginationUtils} from '../../util/variable/pagination.utils';\nimport {VariableEvents} from \"../../model/base-variable\";\n\nimport _ from \"lodash\";\n\nexport class ServiceVariableManager extends BaseVariableManager {\n\n fileUploadResponse: any = [];\n fileUploadCount = 0;\n totalFilesCount = 0;\n successFileUploadCount = 0;\n failedFileUploadCount = 0;\n\n /**\n * function to process error response from a service\n * @param {ServiceVariable} variable\n * @param {string} errMsg\n * @param {Function} errorCB\n * @param xhrObj\n * @param {boolean} skipNotification\n * @param {boolean} skipDefaultNotification\n */\n protected processErrorResponse(variable: ServiceVariable, errMsg: string, errorCB: Function, xhrObj?: any, skipNotification?: boolean, skipDefaultNotification?: boolean, ) {\n const methodInfo = this.getMethodInfo(variable, {}, {});\n const securityDefnObj = _.get(methodInfo, 'securityDefinitions.0');\n const advancedOptions: AdvancedOptions = this.prepareCallbackOptions(xhrObj);\n // EVENT: ON_ERROR\n if (!skipNotification) {\n initiateCallback(VARIABLE_CONSTANTS.EVENT.ERROR, variable, errMsg, advancedOptions, skipDefaultNotification);\n }\n if (_.get(securityDefnObj, 'type') === VARIABLE_CONSTANTS.REST_SERVICE.SECURITY_DEFN.OAUTH2\n && _.includes([VARIABLE_CONSTANTS.HTTP_STATUS_CODE.UNAUTHORIZED, VARIABLE_CONSTANTS.HTTP_STATUS_CODE.FORBIDDEN], _.get(xhrObj, 'status'))) {\n removeAccessToken(securityDefnObj['x-WM-PROVIDER_ID']);\n }\n /* trigger error callback */\n triggerFn(errorCB, errMsg);\n \n variable.notify(VariableEvents.AFTER_INVOKE, [this, errMsg]);\n if (!CONSTANTS.isStudioMode) {\n /* process next requests in the queue */\n variable.canUpdate = true;\n $queue.process(variable);\n\n // EVENT: ON_CAN_UPDATE\n initiateCallback(VARIABLE_CONSTANTS.EVENT.CAN_UPDATE, variable, errMsg, advancedOptions);\n }\n }\n\n /**\n * function to process success response from a service\n * @param response\n * @param variable\n * @param options\n * @param success\n */\n protected processSuccessResponse(response, variable, options, success, resHeaders?, operationInf?) {\n let dataSet;\n let newDataSet;\n let pagination = {};\n let advancedOptions: AdvancedOptions;\n let jsonParsedResponse: any = getValidJSON(response);\n\n response = isDefined(jsonParsedResponse) ? jsonParsedResponse : (response && xmlToJson(response) || response);\n\n const isResponsePageable = isPageable(response);\n if (variable.serviceType === 'DataService' || variable.serviceType === 'JavaService') {\n const decodedData = decodeData(response);\n if (_.isString(response)) {\n response = decodedData;\n }\n }\n if (isResponsePageable) {\n dataSet = response.content;\n pagination = _.omit(response, 'content');\n } else {\n dataSet = response;\n }\n /**\n * send pagination object with advancedOptions all the time.\n * With this, user can provide pagination option, even if it is not there.\n * applicable to 3rd party services that do not support pagination out of the box.\n */\n advancedOptions = this.prepareCallbackOptions(options.xhrObj, {pagination: pagination, rawData: dataSet});\n\n // EVENT: ON_RESULT\n initiateCallback(VARIABLE_CONSTANTS.EVENT.RESULT, variable, response, advancedOptions);\n\n // trigger success callback, pass data received from server as it is.\n triggerFn(success, response, pagination);\n\n /* if dataTransformation enabled, transform the data */\n if (variable.transformationColumns) {\n this.transformData(response, variable);\n }\n\n // if a primitive type response is returned, wrap it in an object\n dataSet = (!_.isObject(dataSet)) ? {'value': dataSet} : dataSet;\n\n // EVENT: ON_PREPARE_SETDATA\n newDataSet = initiateCallback(VARIABLE_CONSTANTS.EVENT.PREPARE_SETDATA, variable, dataSet, advancedOptions);\n if (isDefined(newDataSet)) {\n // setting newDataSet as the response to service variable onPrepareSetData\n dataSet = newDataSet;\n }\n\n const inputFields = getClonedObject(options.inputFields || variable.dataBinding);\n\n // WMS-22361 : For crud variable, apply operation info recived else deduce for service variables\n const operationInfo = operationInf ? operationInf : this.getMethodInfo(variable, inputFields, options);\n const paginationInfo = PaginationUtils.getPaginationInfo(operationInfo, variable);\n if (paginationInfo) {\n const res = PaginationUtils.generatePaginationRes(operationInfo, paginationInfo, response, resHeaders, options, variable);\n if (!_.isEmpty(res)) {\n PaginationUtils.setVariablePagination(variable, res, options);\n }\n }\n\n /* update the dataset against the variable, if response is non-object, insert the response in 'value' field of dataSet */\n if (!options.forceRunMode && !options.skipDataSetUpdate) {\n if (!variable._paginationConfig) {\n variable.pagination = pagination;\n }\n variable.dataSet = dataSet;\n\n // legacy properties in dataSet, [content]\n if (isResponsePageable) {\n Object.defineProperty(variable.dataSet, 'content', {\n get: () => {\n return variable.dataSet;\n }\n });\n }\n }\n variable.notify(VariableEvents.AFTER_INVOKE, [this, dataSet]);\n setTimeout(() => {\n // EVENT: ON_SUCCESS\n initiateCallback(VARIABLE_CONSTANTS.EVENT.SUCCESS, variable, dataSet, advancedOptions);\n if (!CONSTANTS.isStudioMode) {\n /* process next requests in the queue */\n variable.canUpdate = true;\n $queue.process(variable);\n }\n\n // EVENT: ON_CAN_UPDATE\n initiateCallback(VARIABLE_CONSTANTS.EVENT.CAN_UPDATE, variable, dataSet, advancedOptions);\n });\n\n return {\n data: variable.dataSet,\n pagination: variable.pagination\n };\n }\n\n protected uploadFileInFormData(variable: ServiceVariable, options: any, success: Function, error: Function, file, requestParams) {\n const promise = upload(file, variable, requestParams.data, {\n fileParamName: 'files',\n url: requestParams.url\n });\n (promise as any).then((data) => {\n this.fileUploadCount++;\n this.successFileUploadCount++;\n this.fileUploadResponse.push(data[0]);\n file._response = data[0];\n if (data && data[0] && data[0].success === false) {\n if (variable._progressObservable) {\n variable._progressObservable.next({\n 'status': \"error\",\n 'fileName': file.name,\n 'errMsg': data[0].errorMessage,\n 'uniqueId': file.uniqueId\n });\n }\n this.fileUploadResponse = [];\n this.processErrorResponse(variable, data[0].errorMessage, error, data, options.skipNotification);\n }\n if (this.totalFilesCount === this.fileUploadCount && data[0].success === true) {\n if (this.failedFileUploadCount === 0) {\n this.processSuccessResponse(this.fileUploadResponse, variable, options, success);\n this.fileUploadResponse = [];\n if (!variable.onSuccess) {\n appManager && appManager.notifyApp(appManager.getAppLocale().MESSAGE_FILE_UPLOAD_SUCCESS, 'success');\n }\n } else {\n initiateCallback(VARIABLE_CONSTANTS.EVENT.ERROR, variable, this.fileUploadResponse);\n this.fileUploadResponse = [];\n appManager && appManager.notifyApp(appManager.getAppLocale().MESSAGE_FILE_UPLOAD_ERROR, 'error');\n }\n this.fileUploadCount = 0;\n this.successFileUploadCount = 0;\n this.totalFilesCount = 0;\n }\n return data;\n }, (e) => {\n this.fileUploadCount++;\n this.failedFileUploadCount++;\n this.fileUploadResponse.push(e);\n const errMsg = getErrMessage(e, variable.httpService.getLocale());\n // if a file upload failed, notify the progress listener to take action\n if (variable._progressObservable) {\n variable._progressObservable.next({\n 'status': \"error\",\n 'fileName': file.name,\n 'errMsg': errMsg,\n 'uniqueId': file.uniqueId\n });\n }\n if (this.totalFilesCount === this.fileUploadCount) {\n this.processErrorResponse(variable, errMsg, error, e, options.skipNotification);\n this.fileUploadResponse = [];\n this.fileUploadCount = 0;\n this.failedFileUploadCount = 0;\n this.totalFilesCount = 0;\n }\n return e;\n }, (data) => {\n if (variable._progressObservable) {\n variable._progressObservable.next({\n 'progress': data,\n 'status': VARIABLE_CONSTANTS.EVENT.PROGRESS,\n 'fileName': file.name,\n 'uniqueId': file.uniqueId});\n }\n initiateCallback(VARIABLE_CONSTANTS.EVENT.PROGRESS, variable, data);\n return data;\n });\n return promise;\n }\n\n /**\n * Checks if the user is logged in or not and returns appropriate error\n * If user is not logged in, Session timeout logic is run, for user to login\n * @param variable\n * @returns {any}\n */\n private handleAuthError(variable, success, errorCB, options) {\n const isUserAuthenticated = _.get(securityService.get(), 'authenticated');\n let info;\n\n if (isUserAuthenticated) {\n info = {\n error: {\n message: 'You\\'re not authorised to access the resource \"' + variable.service + '\".'\n }\n };\n } else {\n info = {\n error: {\n message: 'You\\'re not authenticated to access the resource \"' + variable.service + '\".',\n skipDefaultNotification: true\n }\n };\n appManager.pushToSessionFailureRequests(variable.invoke.bind(variable, options, success, errorCB));\n appManager.handle401();\n }\n console.warn(variable.name + ': ' + info.error.message);\n return info;\n }\n\n /**\n * Handles error, when variable's metadata is not found. The reason for this can be:\n * - API is secure and user is not logged in\n * - API is secure and user is logged in but not authorized\n * - The servicedefs are not generated properly at the back end (need to edit the variable and re-run the project)\n * @param info\n * @param variable\n * @param errorCB\n * @param options\n */\n protected handleRequestMetaError(info, variable, success, errorCB, options) {\n try {\n const err_type = _.get(info, 'error.type');\n\n switch (err_type) {\n case VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.NO_ACCESSTOKEN:\n performAuthorization(undefined, info.securityDefnObj[VARIABLE_CONSTANTS.REST_SERVICE.OAUTH_PROVIDER_KEY], this.invoke.bind(this, variable, options, success, errorCB), null, this.getProviderInfo(variable, info.securityDefnObj['x-WM-PROVIDER_ID']));\n this.processErrorResponse(variable, info.error.message, errorCB, options.xhrObj, true, true);\n break;\n case VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.USER_UNAUTHORISED:\n info = this.handleAuthError(variable, success, errorCB, options);\n this.processErrorResponse(variable, info.error.message, errorCB, options.xhrObj, options.skipNotification, info.error.skipDefaultNotification);\n break;\n case VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.METADATA_MISSING:\n case VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.CRUD_OPERATION_MISSING:\n if (info.error.message) {\n info.error.message = info.error.message.replace('$variable', variable.name);\n let reasons;\n if (err_type === VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.METADATA_MISSING) {\n reasons = ['1. You did not Preview the app after creating a Variable for the imported service.', '2. You deleted the imported service this Variable is linked to.'];\n } else {\n reasons = ['1. You haven\\'t chosen an endpoint for ' + options.operation + ' operation for this Entity.'];\n }\n console.warn(info.error.message + '\\n Possible reasons for this:\\n ' + reasons.join('\\n '));\n }\n this.processErrorResponse(variable, info.error.message, errorCB, options.xhrObj, options.skipNotification, info.error.skipDefaultNotification);\n break;\n default:\n if (info.error.message) {\n console.warn(info.error.message, variable.name);\n this.processErrorResponse(variable, info.error.message, errorCB, options.xhrObj, options.skipNotification, info.error.skipDefaultNotification);\n }\n }\n } catch(err) {\n console.error(err);\n }\n return info;\n }\n\n /**\n * function to transform the service data as according to the variable configuration\n * this is used when 'transformationColumns' property is set on the variable\n * @param data: data returned from the service\n * @variable: variable object triggering the service\n */\n private transformData(data, variable) {\n data.wmTransformedData = [];\n\n const columnsArray = variable.transformationColumns,\n dataArray = _.get(data, variable.dataField) || [],\n transformedData = data.wmTransformedData;\n\n _.forEach(dataArray, function (datum, index) {\n transformedData[index] = {};\n _.forEach(columnsArray, function (column, columnIndex) {\n transformedData[index][column] = datum[columnIndex];\n });\n });\n }\n\n\n /**\n * gets the service operation info against a service variable\n * this is extracted from the metadataservice\n * @param variable\n * @param inputFields: sample values, if provided, will be set against params in the definition\n * @param options\n * @returns {any}\n */\n private getMethodInfo(variable, inputFields, options) {\n let methodInfo;\n if (!_.isEmpty(metadataService)) {\n const serviceDef = getClonedObject(metadataService.getByOperationId(variable.operationId, variable.getPrefabName()));\n methodInfo = serviceDef === null ? null : _.get(serviceDef, 'wmServiceOperationInfo');\n } else {\n methodInfo = variable.serviceInfo;\n }\n\n if (!methodInfo) {\n return methodInfo;\n }\n const securityDefnObj = _.get(methodInfo.securityDefinitions, '0'),\n isOAuthTypeService = securityDefnObj && (securityDefnObj.type === VARIABLE_CONSTANTS.REST_SERVICE.SECURITY_DEFN.OAUTH2);\n if (methodInfo.parameters) {\n methodInfo.parameters.forEach(function (param) {\n // Ignore readOnly params in case of formData file params will be duplicated\n if (param.readOnly) {\n return;\n }\n param.sampleValue = inputFields[param.name];\n /* supporting pagination for query service variable */\n if (VARIABLE_CONSTANTS.PAGINATION_PARAMS.indexOf(param.name) !== -1) {\n if (param.name === 'size') {\n param.sampleValue = options.size || param.sampleValue || parseInt(variable.maxResults, 10);\n } else if (param.name === 'page') {\n param.sampleValue = options.page || param.sampleValue || 1;\n } else if (param.name === 'sort') {\n param.sampleValue = getEvaluatedOrderBy(variable.orderBy, options.orderBy) || param.sampleValue || '';\n }\n } else if (param.name === 'access_token' && isOAuthTypeService) {\n param.sampleValue = getAccessToken(securityDefnObj[VARIABLE_CONSTANTS.REST_SERVICE.OAUTH_PROVIDER_KEY], null);\n }\n });\n }\n return methodInfo;\n }\n\n\n /**\n * gets the provider info against a service variable's provider\n * this is extracted from the metadataservice\n * @param variable\n * @param providerId\n * @returns {any}\n */\n private getProviderInfo(variable, providerId) {\n return getClonedObject(metadataService?.getByProviderId(providerId, variable.getPrefabName()));\n }\n\n /**\n * Returns true if any of the files are in onProgress state\n */\n private isFileUploadInProgress(dataBindings) {\n let filesStatus = false;\n _.forEach(dataBindings, (dataBinding) => {\n if (_.isArray(dataBinding) && dataBinding[0] instanceof File) {\n _.forEach(dataBinding, (file) => {\n if (file.status === 'onProgress') {\n filesStatus = true;\n return;\n }\n });\n }\n });\n return filesStatus;\n }\n\n // Makes the call for Uploading file/ files\n protected uploadFile(variable, options, success, error, inputFields, requestParams ) {\n let fileParamCount = 0;\n const fileArr: any = [], promArr: any = [];\n _.forEach(inputFields, (inputField) => {\n if (_.isArray(inputField)) {\n if (inputField[0] instanceof File) {\n fileParamCount++;\n }\n _.forEach(inputField, (input) => {\n if (input instanceof File || _.find(_.values(input), o => o instanceof Blob)) {\n fileArr.push(input);\n this.totalFilesCount++;\n fileParamCount = fileParamCount || 1;\n }\n });\n } else {\n if (inputField instanceof File) {\n fileParamCount++;\n this.totalFilesCount++;\n fileArr.push(inputField);\n }\n }\n });\n if (fileParamCount === 1) {\n if (inputFields.files.length > 1) {\n _.forEach(fileArr, (file) => {\n promArr.push(this.uploadFileInFormData(variable, options, success, error, file, requestParams));\n });\n return Promise.all(promArr);\n } else {\n return this.uploadFileInFormData(variable, options, success, error, fileArr[0], requestParams);\n }\n }\n }\n\n /**\n * proxy for the invoke call\n * Request Info is constructed\n * if error found, error is thrown\n * else, call is made\n * @param {ServiceVariable} variable\n * @param options\n * @param {Function} success\n * @param {Function} error\n * @returns {any}\n * @private\n */\n protected _invoke (variable: ServiceVariable, options: any, success: Function, error: Function) {\n let inputFields = getClonedObject(options.inputFields || variable.dataBinding);\n // EVENT: ON_BEFORE_UPDATE\n const output: any = initiateCallback(VARIABLE_CONSTANTS.EVENT.BEFORE_UPDATE, variable, inputFields, options);\n let successHandler;\n let errorHandler;\n\n if (output === false) {\n $queue.process(variable);\n triggerFn(error);\n return;\n }\n if (_.isObject(output)) {\n inputFields = output;\n }\n\n const operationInfo = this.getMethodInfo(variable, inputFields, options);\n const requestParams = ServiceVariableUtils.constructRequestParams(variable, operationInfo, inputFields, options);\n // check errors\n if (requestParams.error) {\n const info = this.handleRequestMetaError(requestParams, variable, success, error, options);\n const reason = (_.get(info, 'error.message') || 'An error occurred while triggering the variable: ') + ': ' + variable.name;\n triggerFn(error);\n $queue.process(variable);\n return Promise.reject(reason);\n }\n\n // file upload\n if (ServiceVariableUtils.isFileUploadRequest(variable)) {\n const uploadPromise = this.uploadFile(variable, options, success, error, inputFields, requestParams);\n if (uploadPromise) {\n return uploadPromise;\n }\n }\n\n // file download\n if (operationInfo && _.isArray(operationInfo.produces) && _.includes(operationInfo.produces, WS_CONSTANTS.CONTENT_TYPES.OCTET_STREAM) && variable.simulateFileDownload) {\n // ToDo - variable seperation\n return variable.simulateFileDownload(requestParams, variable.dataBinding.file || variable.name, variable.dataBinding.exportType, function () {\n initiateCallback(VARIABLE_CONSTANTS.EVENT.SUCCESS, variable, null, null, null);\n $queue.process(variable);\n triggerFn(success);\n }, function () {\n initiateCallback(VARIABLE_CONSTANTS.EVENT.ERROR, variable, null, null, null);\n $queue.process(variable);\n triggerFn(error);\n },variable.dataBinding);\n }\n\n // notify variable progress\n this.notifyInflight(variable, !options.skipToggleState);\n\n successHandler = (response, resolve) => {\n if (response && response.type || response && response.status) {\n const res = response.body || response.data;\n const data = this.processSuccessResponse(res, variable, _.extend(options, {'xhrObj': response}), success, response.headers);\n // notify variable success\n this.notifyInflight(variable, false, data);\n if (ServiceVariableUtils.isFileDeleteRequest(variable) && variable._deleteFileObservable) {\n variable._deleteFileObservable.next({'status' : \"success\", response: res});\n appManager && appManager.notifyApp(appManager.getAppLocale().MESSAGE_FILE_DELETE_SUCCESS || \"File delete success\", 'success');\n }\n resolve(response);\n }\n };\n\n errorHandler = (err, reject) => {\n const errMsg = getErrMessage(err, variable.httpService.getLocale());\n // notify variable error\n this.notifyInflight(variable, false);\n this.processErrorResponse(variable, errMsg, error, err, options.skipNotification);\n if (ServiceVariableUtils.isFileDeleteRequest(variable) && variable._deleteFileObservable) {\n variable._deleteFileObservable.error({\n status : \"error\",\n error: errMsg,\n details: err\n });\n appManager && appManager.notifyApp(appManager.getAppLocale().MESSAGE_FILE_DELETE_ERROR || 'File delete failed', 'error');\n }\n reject({\n error: errMsg,\n details: err\n });\n };\n\n // make the call and return a promise to the user to support script calls made by users\n return new Promise((resolve, reject) => {\n requestParams.responseType = 'text'; // this is to return text response. JSON & XML-to-JSON parsing is handled in success handler.\n // ToDo - variable seperation\n // this.httpCall(requestParams, variable).then((response) => {\n // successHandler(response, resolve);\n // }, err => {\n // const validJSON = getValidJSON(err.error);\n // err.error = isDefined(validJSON) ? validJSON : err.error;\n // errorHandler(err, reject);\n // });\n // the _observable property on variable is used store the observable using which the network call is made\n // this can be used to cancel the variable calls.\n variable.httpService.sendCall(requestParams, variable).then((response) => {\n successHandler(response, resolve);\n }).catch(err => {\n err = err || {};\n err.error = err.error || '{}';\n const validJSON = getValidJSON(err.error);\n err.error = isDefined(validJSON) ? validJSON : err.error;\n errorHandler(err, reject);\n });\n });\n }\n\n // *********************************************************** PUBLIC ***********************************************************//\n\n public invoke(variable, options, success, error) {\n options = options || {};\n // appManager.notify('check-state-persistence-options', {\n // options: options,\n // variable: variable\n // });\n options.inputFields = options.inputFields || getClonedObject(variable.dataBinding);\n return $queue.submit(variable).then(this._invoke.bind(this, variable, options, success, error), error);\n }\n\n public setPagination(variable, data) {\n variable._paginationConfig = data;\n }\n\n public download(variable, options, successHandler, errorHandler) {\n options = options || {};\n const inputParams = getClonedObject(variable.dataBinding);\n const inputData = options.data || {};\n const methodInfo = this.getMethodInfo(variable, inputParams, options);\n let requestParams;\n\n methodInfo.relativePath += '/export';\n requestParams = ServiceVariableUtils.constructRequestParams(variable, methodInfo, inputParams);\n\n requestParams.data = inputData;\n requestParams.data.fields = formatExportExpression(inputData.fields || []);\n\n // extra options provided, these may be used in future for integrating export feature with ext. services\n requestParams.method = options.httpMethod || 'POST';\n requestParams.url = options.url || requestParams.url;\n\n // If request params returns error then show an error toaster\n if (_.hasIn(requestParams, 'error.message')) {\n triggerFn(errorHandler, requestParams.error.message);\n return Promise.reject(requestParams.error.message);\n }\n return variable.httpService.send(requestParams).then(response => {\n if (response && isValidWebURL(response.body.result)) {\n window.location.href = response.body.result;\n triggerFn(successHandler, response);\n } else {\n initiateCallback(VARIABLE_CONSTANTS.EVENT.ERROR, variable, response);\n triggerFn(errorHandler, response);\n }\n }, (response, xhrObj) => {\n initiateCallback(VARIABLE_CONSTANTS.EVENT.ERROR, variable, response, xhrObj);\n triggerFn(errorHandler, response);\n });\n }\n\n public getInputParms(variable) {\n let wmServiceOperationInfo;\n if (!_.isEmpty(metadataService)) {\n wmServiceOperationInfo = _.get(metadataService.getByOperationId(variable.operationId, variable.getPrefabName()), 'wmServiceOperationInfo');\n } else {\n wmServiceOperationInfo = variable.serviceInfo;\n }\n return _.get(wmServiceOperationInfo, 'parameters');\n }\n\n public setInput(variable, key, val, options) {\n return setInput(variable.dataBinding, key, val, options);\n }\n\n /**\n * Cancels an on going service request\n * @param variable\n * @param $file\n */\n public cancel(variable, $file?) {\n // CHecks if there is any pending requests in the queue\n if ($queue.requestsQueue.has(variable)) {\n // If the request is a File upload request then modify the elements associated with file upload\n // else unsubscribe from the observable on the variable.\n if (ServiceVariableUtils.isFileUploadRequest(variable)) {\n variable.httpService.cancel(variable, $file);\n $file.status = 'abort';\n this.totalFilesCount--;\n initiateCallback(VARIABLE_CONSTANTS.EVENT.ABORT, variable, $file);\n if (!this.isFileUploadInProgress(variable.dataBinding) && this.totalFilesCount === 0) {\n $queue.process(variable);\n // notify inflight variable\n this.notifyInflight(variable, false);\n }\n } else {\n if (variable.httpService.cancel) {\n variable.httpService.cancel(variable);\n $queue.process(variable);\n // notify inflight variable\n this.notifyInflight(variable, false);\n }\n }\n }\n }\n\n public defineFirstLastRecord(variable) {\n if (variable.isList) {\n Object.defineProperty(variable, 'firstRecord', {\n 'configurable': true,\n 'get': function () {\n const dataSet = variable.dataSet;\n // For procedure(v1) data doesn't come under content\n return _.head(dataSet && dataSet.content) || _.head(dataSet) || {};\n }\n });\n Object.defineProperty(variable, 'lastRecord', {\n 'configurable': true,\n 'get': function () {\n const dataSet = variable.dataSet;\n // For procedure(v1) data doesn't come under content\n return _.last(dataSet && dataSet.content) || _.last(dataSet) || {};\n }\n });\n }\n }\n\n // Gets the input params of the service variable and also add params from the searchKeys (filterfields)\n private getQueryParams(filterFields, searchValue, variable) {\n const inputParams = this.getInputParms(variable);\n const queryParams = ServiceVariableUtils.excludePaginationParams(inputParams);\n const inputFields = {};\n\n // check if some param value is already available in databinding and update the inputFields accordingly\n _.map(variable.dataBinding, function (value, key) {\n inputFields[key] = value;\n });\n\n // add the query params mentioned in the searchkey to inputFields\n _.forEach(filterFields, function (value) {\n if (_.includes(queryParams, value)) {\n inputFields[value] = searchValue;\n }\n });\n\n return inputFields;\n }\n\n /**\n * This method returns filtered records based on searchKey and queryText.\n * @param variable\n * @param options\n * @param success\n * @param error\n * @returns {Promise<any>}\n */\n public searchRecords(variable, options, success, error) {\n const inputFields = this.getQueryParams(_.split(options.searchKey, ','), options.query, variable);\n\n const requestParams = {\n page: options.page,\n pagesize: options.pagesize,\n skipDataSetUpdate: true, // dont update the actual variable dataset,\n skipToggleState: true, // Dont change the varibale toggle state as this is a independent call\n inFlightBehavior: 'executeAll',\n inputFields: inputFields\n };\n\n if (options.onBeforeservicecall) {\n options.onBeforeservicecall(inputFields);\n }\n\n return this.invoke(variable, requestParams, success, error).catch(noop);\n }\n}\n\n"]}
@@ -3,6 +3,7 @@ import { ApiAwareVariable } from './api-aware-variable';
3
3
  export declare class CrudVariable extends ApiAwareVariable implements IDataSource {
4
4
  _progressObservable: any;
5
5
  _observable: any;
6
+ _deleteFileObservable: any;
6
7
  pagination: any;
7
8
  list: any;
8
9
  create: any;
@@ -1 +1 @@
1
- {"version":3,"file":"crud-variable.js","sourceRoot":"./","sources":["src/model/variable/crud-variable.ts"],"names":[],"mappings":"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","sourcesContent":["import { isDefined } from \"../../util/utils\";\nimport { DataSource, IDataSource } from \"../../types/types\";\nimport { VariableManagerFactory } from '../../factory/variable-manager.factory';\nimport { ApiAwareVariable } from './api-aware-variable';\nimport { VARIABLE_CONSTANTS } from '../../constants/variables.constants';\nimport { CrudVariableManager } from '../../manager/variable/crud-variable.manager';\nimport { ServiceVariableUtils } from '../../util/variable/service-variable.utils';\nimport {CRUDList} from '../crud-list';\nimport {CRUDCreate} from '../crud-create';\nimport {CRUDUpdate} from '../crud-update';\nimport {CRUDDelete} from '../crud-delete';\n\nimport _ from 'lodash';\n\nconst getManager = (): CrudVariableManager => {\n return VariableManagerFactory.get(VARIABLE_CONSTANTS.CATEGORY.CRUD);\n};\n\nexport class CrudVariable extends ApiAwareVariable implements IDataSource {\n\n // Used to track progress of file upload\n _progressObservable;\n // Used to track a variable http call, so that it can be cancelled at any point of time during its execution\n _observable;\n pagination;\n list;\n create;\n update;\n delete;\n simulateFileDownload;\n serviceInfo;\n httpService;\n\n constructor(variable: any) {\n super();\n Object.assign(this as any, variable);\n // for having separate setInput methods for each type\n this.list = new CRUDList(this, getManager());\n this.create = new CRUDCreate(this, getManager());\n this.update = new CRUDUpdate(this, getManager());\n this.delete = new CRUDDelete(this, getManager());\n }\n\n\n execute(operation, options) {\n let returnVal = super.execute(operation, options);\n if (isDefined(returnVal)) {\n return returnVal;\n }\n\n switch (operation) {\n case DataSource.Operation.IS_API_AWARE:\n returnVal = true;\n break;\n case DataSource.Operation.SUPPORTS_CRUD:\n returnVal = false;\n break;\n case DataSource.Operation.SUPPORTS_DISTINCT_API:\n returnVal = false;\n break;\n case DataSource.Operation.IS_PAGEABLE:\n returnVal = this.hasPagination();\n break;\n case DataSource.Operation.IS_SORTABLE:\n returnVal = this.hasPagination() && !(this as any)._paginationConfig;\n break;\n case DataSource.Operation.SUPPORTS_SERVER_FILTER:\n returnVal = false;\n break;\n case DataSource.Operation.SET_INPUT:\n returnVal = this.setInput(options);\n break;\n case DataSource.Operation.LIST_RECORDS:\n returnVal = this.invoke(options);\n break;\n case DataSource.Operation.INVOKE :\n returnVal = this.invoke(options);\n break;\n case DataSource.Operation.UPDATE :\n returnVal = this.invoke(options);\n break;\n case DataSource.Operation.SEARCH_RECORDS:\n returnVal = this.searchRecords(options);\n break;\n case DataSource.Operation.DOWNLOAD:\n returnVal = this.download(options);\n break;\n case DataSource.Operation.GET_PAGING_OPTIONS:\n returnVal = this.pagination;\n break;\n case DataSource.Operation.IS_UPDATE_REQUIRED:\n returnVal = this.isUpdateRequired(options);\n break;\n case DataSource.Operation.IS_BOUND_TO_LOCALE:\n returnVal = false;\n break;\n case DataSource.Operation.CANCEL:\n returnVal = this.cancel(options);\n break;\n case DataSource.Operation.INSERT_RECORD :\n options.operation = 'create';\n returnVal = this.invoke(options);\n break;\n case DataSource.Operation.UPDATE_RECORD :\n options.operation = 'update';\n returnVal = this.invoke(options);\n break;\n case DataSource.Operation.DELETE_RECORD :\n options.operation = 'delete';\n returnVal = this.invoke(options);\n break;\n case DataSource.Operation.SET_PAGINATION:\n returnVal = this.setPagination(options);\n break;\n default :\n returnVal = {};\n break;\n }\n return returnVal;\n }\n\n hasPagination() {\n return this.controller === VARIABLE_CONSTANTS.CONTROLLER_TYPE.QUERY || !_.isEmpty(this.pagination);\n }\n\n invoke(options?, success?, error?) {\n return getManager().invoke(this, options, success, error);\n }\n\n createRecord(options?, success?, error?) {\n options = options || {};\n options.operation = 'create';\n return getManager().invoke(this, options, success, error);\n }\n\n listRecords(options?, success?, error?) {\n options = options || {};\n options.operation = 'list';\n return getManager().invoke(this, options, success, error);\n }\n\n updateRecord(options?, success?, error?) {\n options = options || {};\n options.operation = 'update';\n return getManager().invoke(this, options, success, error);\n }\n\n deleteRecord(options?, success?, error?) {\n options = options || {};\n options.operation = 'delete';\n return getManager().invoke(this, options, success, error);\n }\n\n download(options, success?, error?) {\n return getManager().download(this, options, success, error);\n }\n\n setInput(key, val?, options?) {\n return getManager().setInput(this, key, val, options);\n }\n\n searchRecords(options, success?, error?) {\n return new Promise((resolve, reject) => {\n getManager().searchRecords(this, options, (response, pagination) => {\n resolve({data: response.content || response, pagination});\n }, reject);\n });\n }\n\n isUpdateRequired(hasData) {\n const inputFields = getManager().getInputParms(this);\n const queryParams = ServiceVariableUtils.excludePaginationParams(inputFields);\n\n if (!queryParams.length) {\n // if we don't have any query params and variable data is available then we don't need variable update, so return false\n if (hasData) {\n return false;\n }\n }\n\n return true;\n }\n\n cancel(options?) {\n return getManager().cancel(this, options);\n }\n\n setPagination(data) {\n return getManager().setPagination(this, data);\n }\n\n init() {\n getManager().initBinding(this);\n getManager().defineFirstLastRecord(this);\n }\n}\n"]}
1
+ {"version":3,"file":"crud-variable.js","sourceRoot":"./","sources":["src/model/variable/crud-variable.ts"],"names":[],"mappings":"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","sourcesContent":["import { isDefined } from \"../../util/utils\";\nimport { DataSource, IDataSource } from \"../../types/types\";\nimport { VariableManagerFactory } from '../../factory/variable-manager.factory';\nimport { ApiAwareVariable } from './api-aware-variable';\nimport { VARIABLE_CONSTANTS } from '../../constants/variables.constants';\nimport { CrudVariableManager } from '../../manager/variable/crud-variable.manager';\nimport { ServiceVariableUtils } from '../../util/variable/service-variable.utils';\nimport {CRUDList} from '../crud-list';\nimport {CRUDCreate} from '../crud-create';\nimport {CRUDUpdate} from '../crud-update';\nimport {CRUDDelete} from '../crud-delete';\n\nimport _ from 'lodash';\n\nconst getManager = (): CrudVariableManager => {\n return VariableManagerFactory.get(VARIABLE_CONSTANTS.CATEGORY.CRUD);\n};\n\nexport class CrudVariable extends ApiAwareVariable implements IDataSource {\n\n // Used to track progress of file upload\n _progressObservable;\n // Used to track a variable http call, so that it can be cancelled at any point of time during its execution\n _observable;\n _deleteFileObservable;\n pagination;\n list;\n create;\n update;\n delete;\n simulateFileDownload;\n serviceInfo;\n httpService;\n\n constructor(variable: any) {\n super();\n Object.assign(this as any, variable);\n // for having separate setInput methods for each type\n this.list = new CRUDList(this, getManager());\n this.create = new CRUDCreate(this, getManager());\n this.update = new CRUDUpdate(this, getManager());\n this.delete = new CRUDDelete(this, getManager());\n }\n\n\n execute(operation, options) {\n let returnVal = super.execute(operation, options);\n if (isDefined(returnVal)) {\n return returnVal;\n }\n\n switch (operation) {\n case DataSource.Operation.IS_API_AWARE:\n returnVal = true;\n break;\n case DataSource.Operation.SUPPORTS_CRUD:\n returnVal = false;\n break;\n case DataSource.Operation.SUPPORTS_DISTINCT_API:\n returnVal = false;\n break;\n case DataSource.Operation.IS_PAGEABLE:\n returnVal = this.hasPagination();\n break;\n case DataSource.Operation.IS_SORTABLE:\n returnVal = this.hasPagination() && !(this as any)._paginationConfig;\n break;\n case DataSource.Operation.SUPPORTS_SERVER_FILTER:\n returnVal = false;\n break;\n case DataSource.Operation.SET_INPUT:\n returnVal = this.setInput(options);\n break;\n case DataSource.Operation.LIST_RECORDS:\n returnVal = this.invoke(options);\n break;\n case DataSource.Operation.INVOKE :\n returnVal = this.invoke(options);\n break;\n case DataSource.Operation.UPDATE :\n returnVal = this.invoke(options);\n break;\n case DataSource.Operation.SEARCH_RECORDS:\n returnVal = this.searchRecords(options);\n break;\n case DataSource.Operation.DOWNLOAD:\n returnVal = this.download(options);\n break;\n case DataSource.Operation.GET_PAGING_OPTIONS:\n returnVal = this.pagination;\n break;\n case DataSource.Operation.IS_UPDATE_REQUIRED:\n returnVal = this.isUpdateRequired(options);\n break;\n case DataSource.Operation.IS_BOUND_TO_LOCALE:\n returnVal = false;\n break;\n case DataSource.Operation.CANCEL:\n returnVal = this.cancel(options);\n break;\n case DataSource.Operation.INSERT_RECORD :\n options.operation = 'create';\n returnVal = this.invoke(options);\n break;\n case DataSource.Operation.UPDATE_RECORD :\n options.operation = 'update';\n returnVal = this.invoke(options);\n break;\n case DataSource.Operation.DELETE_RECORD :\n options.operation = 'delete';\n returnVal = this.invoke(options);\n break;\n case DataSource.Operation.SET_PAGINATION:\n returnVal = this.setPagination(options);\n break;\n default :\n returnVal = {};\n break;\n }\n return returnVal;\n }\n\n hasPagination() {\n return this.controller === VARIABLE_CONSTANTS.CONTROLLER_TYPE.QUERY || !_.isEmpty(this.pagination);\n }\n\n invoke(options?, success?, error?) {\n return getManager().invoke(this, options, success, error);\n }\n\n createRecord(options?, success?, error?) {\n options = options || {};\n options.operation = 'create';\n return getManager().invoke(this, options, success, error);\n }\n\n listRecords(options?, success?, error?) {\n options = options || {};\n options.operation = 'list';\n return getManager().invoke(this, options, success, error);\n }\n\n updateRecord(options?, success?, error?) {\n options = options || {};\n options.operation = 'update';\n return getManager().invoke(this, options, success, error);\n }\n\n deleteRecord(options?, success?, error?) {\n options = options || {};\n options.operation = 'delete';\n return getManager().invoke(this, options, success, error);\n }\n\n download(options, success?, error?) {\n return getManager().download(this, options, success, error);\n }\n\n setInput(key, val?, options?) {\n return getManager().setInput(this, key, val, options);\n }\n\n searchRecords(options, success?, error?) {\n return new Promise((resolve, reject) => {\n getManager().searchRecords(this, options, (response, pagination) => {\n resolve({data: response.content || response, pagination});\n }, reject);\n });\n }\n\n isUpdateRequired(hasData) {\n const inputFields = getManager().getInputParms(this);\n const queryParams = ServiceVariableUtils.excludePaginationParams(inputFields);\n\n if (!queryParams.length) {\n // if we don't have any query params and variable data is available then we don't need variable update, so return false\n if (hasData) {\n return false;\n }\n }\n\n return true;\n }\n\n cancel(options?) {\n return getManager().cancel(this, options);\n }\n\n setPagination(data) {\n return getManager().setPagination(this, data);\n }\n\n init() {\n getManager().initBinding(this);\n getManager().defineFirstLastRecord(this);\n }\n}\n"]}
@@ -15,6 +15,7 @@ export interface SVConfig {
15
15
  export declare class ServiceVariable extends ApiAwareVariable implements IDataSource {
16
16
  _progressObservable: any;
17
17
  _observable: any;
18
+ _deleteFileObservable: any;
18
19
  pagination: any;
19
20
  simulateFileDownload: any;
20
21
  serviceInfo: any;
@@ -1 +1 @@
1
- {"version":3,"file":"service-variable.js","sourceRoot":"./","sources":["src/model/variable/service-variable.ts"],"names":[],"mappings":"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","sourcesContent":["import { isDefined } from \"../../util/utils\";\nimport { DataSource, IDataSource } from \"../../types/types\";\n\nimport { VariableManagerFactory } from '../../factory/variable-manager.factory';\nimport { ApiAwareVariable } from './api-aware-variable';\nimport { VARIABLE_CONSTANTS } from '../../constants/variables.constants';\nimport { ServiceVariableManager } from '../../manager/variable/service-variable.manager';\nimport { ServiceVariableUtils } from '../../util/variable/service-variable.utils';\nimport {HttpClientService} from \"../../types/http-client.service\";\n\nimport _ from 'lodash';\n\nconst getManager = (): ServiceVariableManager => {\n return VariableManagerFactory.get(VARIABLE_CONSTANTS.CATEGORY.SERVICE);\n};\n\n\nexport interface SVConfig {\n name: string,\n dataSet: any,\n isList: boolean,\n service: string,\n operation: string,\n operationId: string,\n dataBinding: any;\n serviceInfo?: any,\n httpClientService: HttpClientService\n}\n\nexport class ServiceVariable extends ApiAwareVariable implements IDataSource {\n\n // Used to track progress of file upload\n _progressObservable;\n // Used to track a variable http call, so that it can be cancelled at any point of time during its execution\n _observable;\n pagination;\n simulateFileDownload;\n serviceInfo;\n httpService;\n\n constructor(variable: SVConfig) {\n super();\n Object.assign(this as any, variable);\n this.serviceInfo = variable.serviceInfo;\n this.httpService = variable.httpClientService;\n }\n\n execute(operation, options) {\n let returnVal = super.execute(operation, options);\n if (isDefined(returnVal)) {\n return returnVal;\n }\n\n switch (operation) {\n case DataSource.Operation.IS_API_AWARE:\n returnVal = true;\n break;\n case DataSource.Operation.SUPPORTS_CRUD:\n returnVal = false;\n break;\n case DataSource.Operation.SUPPORTS_DISTINCT_API:\n returnVal = false;\n break;\n case DataSource.Operation.IS_PAGEABLE:\n // Check for both client and server side pagination existence\n returnVal = this.hasPagination();\n break;\n case DataSource.Operation.IS_SORTABLE:\n returnVal = this.hasPagination() && !(this as any)._paginationConfig;\n break;\n case DataSource.Operation.SUPPORTS_SERVER_FILTER:\n returnVal = false;\n break;\n case DataSource.Operation.SET_INPUT:\n returnVal = this.setInput(options);\n break;\n case DataSource.Operation.LIST_RECORDS:\n returnVal = this.invoke(options);\n break;\n case DataSource.Operation.INVOKE :\n returnVal = this.invoke(options);\n break;\n case DataSource.Operation.UPDATE :\n returnVal = this.update(options);\n break;\n case DataSource.Operation.SEARCH_RECORDS:\n returnVal = this.searchRecords(options);\n break;\n case DataSource.Operation.DOWNLOAD:\n returnVal = this.download(options);\n break;\n case DataSource.Operation.GET_PAGING_OPTIONS:\n returnVal = this.pagination;\n break;\n case DataSource.Operation.IS_UPDATE_REQUIRED:\n returnVal = this.isUpdateRequired(options);\n break;\n case DataSource.Operation.IS_BOUND_TO_LOCALE:\n returnVal = false;\n break;\n case DataSource.Operation.CANCEL:\n returnVal = this.cancel(options);\n break;\n case DataSource.Operation.SET_PAGINATION:\n returnVal = this.setPagination(options);\n break;\n default :\n returnVal = {};\n break;\n }\n return returnVal;\n }\n\n hasPagination() {\n return this.controller === VARIABLE_CONSTANTS.CONTROLLER_TYPE.QUERY || !_.isEmpty(this.pagination);\n }\n\n invoke(options?, success?, error?) {\n // return this.invokeVar();\n return getManager().invoke(this, options, success, error);\n }\n\n update(options, success?, error?) {\n return getManager().invoke(this, options, success, error);\n }\n\n download(options, success?, error?) {\n return getManager().download(this, options, success, error);\n }\n\n setInput(key, val?, options?) {\n return getManager().setInput(this, key, val, options);\n }\n\n searchRecords(options, success?, error?) {\n return new Promise((resolve, reject) => {\n getManager().searchRecords(this, options, (response, pagination) => {\n resolve({data: response.content || response, pagination});\n }, reject);\n });\n }\n\n isUpdateRequired(hasData) {\n const inputFields = getManager().getInputParms(this);\n const queryParams = ServiceVariableUtils.excludePaginationParams(inputFields);\n\n if (!queryParams.length) {\n // if we don't have any query params and variable data is available then we don't need variable update, so return false\n if (hasData) {\n return false;\n }\n }\n\n return true;\n }\n\n setPagination(data) {\n return getManager().setPagination(this, data);\n }\n\n cancel(options?) {\n return getManager().cancel(this, options);\n }\n\n init() {\n getManager().initBinding(this);\n getManager().defineFirstLastRecord(this);\n }\n}\n"]}
1
+ {"version":3,"file":"service-variable.js","sourceRoot":"./","sources":["src/model/variable/service-variable.ts"],"names":[],"mappings":"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","sourcesContent":["import { isDefined } from \"../../util/utils\";\nimport { DataSource, IDataSource } from \"../../types/types\";\n\nimport { VariableManagerFactory } from '../../factory/variable-manager.factory';\nimport { ApiAwareVariable } from './api-aware-variable';\nimport { VARIABLE_CONSTANTS } from '../../constants/variables.constants';\nimport { ServiceVariableManager } from '../../manager/variable/service-variable.manager';\nimport { ServiceVariableUtils } from '../../util/variable/service-variable.utils';\nimport {HttpClientService} from \"../../types/http-client.service\";\n\nimport _ from 'lodash';\n\nconst getManager = (): ServiceVariableManager => {\n return VariableManagerFactory.get(VARIABLE_CONSTANTS.CATEGORY.SERVICE);\n};\n\n\nexport interface SVConfig {\n name: string,\n dataSet: any,\n isList: boolean,\n service: string,\n operation: string,\n operationId: string,\n dataBinding: any;\n serviceInfo?: any,\n httpClientService: HttpClientService\n}\n\nexport class ServiceVariable extends ApiAwareVariable implements IDataSource {\n\n // Used to track progress of file upload\n _progressObservable;\n // Used to track a variable http call, so that it can be cancelled at any point of time during its execution\n _observable;\n _deleteFileObservable;\n pagination;\n simulateFileDownload;\n serviceInfo;\n httpService;\n\n constructor(variable: SVConfig) {\n super();\n Object.assign(this as any, variable);\n this.serviceInfo = variable.serviceInfo;\n this.httpService = variable.httpClientService;\n }\n\n execute(operation, options) {\n let returnVal = super.execute(operation, options);\n if (isDefined(returnVal)) {\n return returnVal;\n }\n\n switch (operation) {\n case DataSource.Operation.IS_API_AWARE:\n returnVal = true;\n break;\n case DataSource.Operation.SUPPORTS_CRUD:\n returnVal = false;\n break;\n case DataSource.Operation.SUPPORTS_DISTINCT_API:\n returnVal = false;\n break;\n case DataSource.Operation.IS_PAGEABLE:\n // Check for both client and server side pagination existence\n returnVal = this.hasPagination();\n break;\n case DataSource.Operation.IS_SORTABLE:\n returnVal = this.hasPagination() && !(this as any)._paginationConfig;\n break;\n case DataSource.Operation.SUPPORTS_SERVER_FILTER:\n returnVal = false;\n break;\n case DataSource.Operation.SET_INPUT:\n returnVal = this.setInput(options);\n break;\n case DataSource.Operation.LIST_RECORDS:\n returnVal = this.invoke(options);\n break;\n case DataSource.Operation.INVOKE :\n returnVal = this.invoke(options);\n break;\n case DataSource.Operation.UPDATE :\n returnVal = this.update(options);\n break;\n case DataSource.Operation.SEARCH_RECORDS:\n returnVal = this.searchRecords(options);\n break;\n case DataSource.Operation.DOWNLOAD:\n returnVal = this.download(options);\n break;\n case DataSource.Operation.GET_PAGING_OPTIONS:\n returnVal = this.pagination;\n break;\n case DataSource.Operation.IS_UPDATE_REQUIRED:\n returnVal = this.isUpdateRequired(options);\n break;\n case DataSource.Operation.IS_BOUND_TO_LOCALE:\n returnVal = false;\n break;\n case DataSource.Operation.CANCEL:\n returnVal = this.cancel(options);\n break;\n case DataSource.Operation.SET_PAGINATION:\n returnVal = this.setPagination(options);\n break;\n default :\n returnVal = {};\n break;\n }\n return returnVal;\n }\n\n hasPagination() {\n return this.controller === VARIABLE_CONSTANTS.CONTROLLER_TYPE.QUERY || !_.isEmpty(this.pagination);\n }\n\n invoke(options?, success?, error?) {\n // return this.invokeVar();\n return getManager().invoke(this, options, success, error);\n }\n\n update(options, success?, error?) {\n return getManager().invoke(this, options, success, error);\n }\n\n download(options, success?, error?) {\n return getManager().download(this, options, success, error);\n }\n\n setInput(key, val?, options?) {\n return getManager().setInput(this, key, val, options);\n }\n\n searchRecords(options, success?, error?) {\n return new Promise((resolve, reject) => {\n getManager().searchRecords(this, options, (response, pagination) => {\n resolve({data: response.content || response, pagination});\n }, reject);\n });\n }\n\n isUpdateRequired(hasData) {\n const inputFields = getManager().getInputParms(this);\n const queryParams = ServiceVariableUtils.excludePaginationParams(inputFields);\n\n if (!queryParams.length) {\n // if we don't have any query params and variable data is available then we don't need variable update, so return false\n if (hasData) {\n return false;\n }\n }\n\n return true;\n }\n\n setPagination(data) {\n return getManager().setPagination(this, data);\n }\n\n cancel(options?) {\n return getManager().cancel(this, options);\n }\n\n init() {\n getManager().initBinding(this);\n getManager().defineFirstLastRecord(this);\n }\n}\n"]}
@@ -198,7 +198,7 @@ var PaginationUtils = /** @class */ (function () {
198
198
  * @returns {object} Returns the next offset number
199
199
  */
200
200
  PaginationUtils.getOffsetInfo = function (variable, options) {
201
- return variable.pagination['size'] * (options['page'] ? (options['page'] - 1) : 1);
201
+ return variable.pagination['size'] * (options['page'] ? (options['page'] - 1) : 0);
202
202
  };
203
203
  /**
204
204
  * Sets Pagination data on the request information