@reltio/components 1.4.1174 → 1.4.1175
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/cjs/hooks/useAPI/API.d.ts +1 -1
- package/cjs/hooks/useAPI/API.js +105 -32
- package/cjs/hooks/useAPI/helpers.d.ts +1 -0
- package/cjs/hooks/useAPI/helpers.js +7 -3
- package/cjs/hooks/useAPI/types.d.ts +1 -0
- package/cjs/hooks/useAPI/useAPI.js +3 -1
- package/cjs/hooks/useCustomScripts.js +2 -0
- package/esm/hooks/useAPI/API.d.ts +1 -1
- package/esm/hooks/useAPI/API.js +106 -33
- package/esm/hooks/useAPI/helpers.d.ts +1 -0
- package/esm/hooks/useAPI/helpers.js +5 -2
- package/esm/hooks/useAPI/types.d.ts +1 -0
- package/esm/hooks/useAPI/useAPI.js +3 -1
- package/esm/hooks/useCustomScripts.js +2 -0
- package/package.json +3 -3
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { ProcessRequestParams } from './types';
|
|
2
|
-
export declare const processRequest: ({ name, paramObject, permissions, worker, metadata, config, apiPath, user, workflowPath, entity, tenant, entityUri, query, openSearch, environment, getCurrentPerspectiveId, showPerspective, workflowCheckPermission, setEntityUri }: ProcessRequestParams) => void;
|
|
2
|
+
export declare const processRequest: ({ name, paramObject, permissions, worker, metadata, config, apiPath, servicesPath, user, workflowPath, entity, tenant, entityUri, query, openSearch, environment, getCurrentPerspectiveId, showPerspective, workflowCheckPermission, setEntityUri }: ProcessRequestParams) => void;
|
package/cjs/hooks/useAPI/API.js
CHANGED
|
@@ -10,9 +10,46 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
+
function step(op) {
|
|
27
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
+
while (_) try {
|
|
29
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
+
switch (op[0]) {
|
|
32
|
+
case 0: case 1: t = op; break;
|
|
33
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
+
default:
|
|
37
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
+
if (t[2]) _.ops.pop();
|
|
42
|
+
_.trys.pop(); continue;
|
|
43
|
+
}
|
|
44
|
+
op = body.call(thisArg, _);
|
|
45
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
+
}
|
|
48
|
+
};
|
|
13
49
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
50
|
exports.processRequest = void 0;
|
|
15
51
|
var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
52
|
+
var helpers_1 = require("./helpers");
|
|
16
53
|
var processFromQuery = function (params, permissions, workflowPath, tenant, environment) {
|
|
17
54
|
if (!params.processDefinitionId) {
|
|
18
55
|
return new Promise(function (resolve) { return resolve({ errorMessage: 'processDefinitionId is empty' }); });
|
|
@@ -35,37 +72,69 @@ var processFromQuery = function (params, permissions, workflowPath, tenant, envi
|
|
|
35
72
|
environment: environment
|
|
36
73
|
});
|
|
37
74
|
};
|
|
38
|
-
var
|
|
39
|
-
var
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
return mdm_sdk_1.sendWorkflowRequest({
|
|
49
|
-
url: url,
|
|
50
|
-
method: params.method || 'GET',
|
|
51
|
-
data: params.data,
|
|
52
|
-
tenant: tenant,
|
|
53
|
-
headers: params.headers,
|
|
54
|
-
workflowPath: workflowPath
|
|
75
|
+
var getHeaders = function (params, signHandler) { return __awaiter(void 0, void 0, void 0, function () {
|
|
76
|
+
var accessToken;
|
|
77
|
+
return __generator(this, function (_a) {
|
|
78
|
+
switch (_a.label) {
|
|
79
|
+
case 0: return [4 /*yield*/, (signHandler === null || signHandler === void 0 ? void 0 : signHandler())];
|
|
80
|
+
case 1:
|
|
81
|
+
accessToken = (_a.sent()).accessToken;
|
|
82
|
+
return [2 /*return*/, accessToken
|
|
83
|
+
? __assign(__assign({}, params.headers), { Authorization: "Bearer " + accessToken }) : params.headers];
|
|
84
|
+
}
|
|
55
85
|
});
|
|
56
|
-
};
|
|
57
|
-
var
|
|
58
|
-
var errors
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
86
|
+
}); };
|
|
87
|
+
var workflowRequest = function (params, permissions, workflowPath, tenant, signHandler) { return __awaiter(void 0, void 0, void 0, function () {
|
|
88
|
+
var url, errors, isExternalUrl, headers;
|
|
89
|
+
return __generator(this, function (_a) {
|
|
90
|
+
switch (_a.label) {
|
|
91
|
+
case 0:
|
|
92
|
+
url = params.url;
|
|
93
|
+
errors = validateParams(params, permissions);
|
|
94
|
+
if (errors) {
|
|
95
|
+
return [2 /*return*/, errors];
|
|
96
|
+
}
|
|
97
|
+
isExternalUrl = url.includes('http:') || url.includes('https:');
|
|
98
|
+
if (!workflowPath && !isExternalUrl) {
|
|
99
|
+
return [2 /*return*/, { errorMessage: 'Workflow path is not defined' }];
|
|
100
|
+
}
|
|
101
|
+
return [4 /*yield*/, getHeaders(params, signHandler)];
|
|
102
|
+
case 1:
|
|
103
|
+
headers = _a.sent();
|
|
104
|
+
return [4 /*yield*/, mdm_sdk_1.sendWorkflowRequest({
|
|
105
|
+
url: url,
|
|
106
|
+
method: params.method || 'GET',
|
|
107
|
+
data: params.data,
|
|
108
|
+
tenant: tenant,
|
|
109
|
+
headers: headers,
|
|
110
|
+
workflowPath: workflowPath
|
|
111
|
+
})];
|
|
112
|
+
case 2: return [2 /*return*/, _a.sent()];
|
|
113
|
+
}
|
|
67
114
|
});
|
|
68
|
-
};
|
|
115
|
+
}); };
|
|
116
|
+
var sendApiRequest = function (params, permissions, signHandler) { return __awaiter(void 0, void 0, void 0, function () {
|
|
117
|
+
var errors, headers;
|
|
118
|
+
return __generator(this, function (_a) {
|
|
119
|
+
switch (_a.label) {
|
|
120
|
+
case 0:
|
|
121
|
+
errors = validateParams(params, permissions);
|
|
122
|
+
if (errors) {
|
|
123
|
+
return [2 /*return*/, errors];
|
|
124
|
+
}
|
|
125
|
+
return [4 /*yield*/, getHeaders(params, signHandler)];
|
|
126
|
+
case 1:
|
|
127
|
+
headers = _a.sent();
|
|
128
|
+
return [4 /*yield*/, mdm_sdk_1.sendRequestFromCustomSandbox({
|
|
129
|
+
url: params.url,
|
|
130
|
+
method: params.method,
|
|
131
|
+
data: params.data,
|
|
132
|
+
headers: headers
|
|
133
|
+
})];
|
|
134
|
+
case 2: return [2 /*return*/, _a.sent()];
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
}); };
|
|
69
138
|
var validateParams = function (params, permissions) {
|
|
70
139
|
var url = params.url;
|
|
71
140
|
if (!url)
|
|
@@ -89,7 +158,7 @@ var validateParams = function (params, permissions) {
|
|
|
89
158
|
return false;
|
|
90
159
|
};
|
|
91
160
|
var processRequest = function (_a) {
|
|
92
|
-
var name = _a.name, paramObject = _a.paramObject, permissions = _a.permissions, worker = _a.worker, metadata = _a.metadata, config = _a.config, apiPath = _a.apiPath, user = _a.user, workflowPath = _a.workflowPath, entity = _a.entity, tenant = _a.tenant, entityUri = _a.entityUri, query = _a.query, openSearch = _a.openSearch, environment = _a.environment, getCurrentPerspectiveId = _a.getCurrentPerspectiveId, showPerspective = _a.showPerspective, workflowCheckPermission = _a.workflowCheckPermission, setEntityUri = _a.setEntityUri;
|
|
161
|
+
var name = _a.name, paramObject = _a.paramObject, permissions = _a.permissions, worker = _a.worker, metadata = _a.metadata, config = _a.config, apiPath = _a.apiPath, servicesPath = _a.servicesPath, user = _a.user, workflowPath = _a.workflowPath, entity = _a.entity, tenant = _a.tenant, entityUri = _a.entityUri, query = _a.query, openSearch = _a.openSearch, environment = _a.environment, getCurrentPerspectiveId = _a.getCurrentPerspectiveId, showPerspective = _a.showPerspective, workflowCheckPermission = _a.workflowCheckPermission, setEntityUri = _a.setEntityUri;
|
|
93
162
|
var handleRequest = function (request) {
|
|
94
163
|
request
|
|
95
164
|
.then(function (data) {
|
|
@@ -99,14 +168,18 @@ var processRequest = function (_a) {
|
|
|
99
168
|
worker.postMessage(__assign({ action: 'response', result: { data: {}, headers: '', status: 0 } }, paramObject.params));
|
|
100
169
|
});
|
|
101
170
|
};
|
|
171
|
+
var shouldSignRequest = helpers_1.isNewUI(servicesPath);
|
|
172
|
+
var signHandler = shouldSignRequest
|
|
173
|
+
? function () { return mdm_sdk_1.getAccessToken({ servicesPath: servicesPath }); }
|
|
174
|
+
: function () { return Promise.resolve({ accessToken: '' }); };
|
|
102
175
|
switch (name) {
|
|
103
176
|
case mdm_sdk_1.RequestAction.API: {
|
|
104
|
-
var request = sendApiRequest(paramObject.params, permissions);
|
|
177
|
+
var request = sendApiRequest(paramObject.params, permissions, signHandler);
|
|
105
178
|
handleRequest(request);
|
|
106
179
|
break;
|
|
107
180
|
}
|
|
108
181
|
case mdm_sdk_1.RequestAction.WORKFLOW: {
|
|
109
|
-
var request = workflowRequest(paramObject.params, permissions, workflowPath, tenant);
|
|
182
|
+
var request = workflowRequest(paramObject.params, permissions, workflowPath, tenant, signHandler);
|
|
110
183
|
handleRequest(request);
|
|
111
184
|
break;
|
|
112
185
|
}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getFullApiPath = exports.getWorkerURL = void 0;
|
|
3
|
+
exports.getFullApiPath = exports.getWorkerURL = exports.isNewUI = void 0;
|
|
4
|
+
var isNewUI = function (path) {
|
|
5
|
+
return path === null || path === void 0 ? void 0 : path.includes('/nui');
|
|
6
|
+
};
|
|
7
|
+
exports.isNewUI = isNewUI;
|
|
4
8
|
var getWorkerURL = function (uiPath, tenant) {
|
|
5
|
-
if (
|
|
9
|
+
if (exports.isNewUI(uiPath)) {
|
|
6
10
|
return uiPath.replace(tenant + "/", '') + "worker_api.js";
|
|
7
11
|
}
|
|
8
12
|
else {
|
|
@@ -11,7 +15,7 @@ var getWorkerURL = function (uiPath, tenant) {
|
|
|
11
15
|
};
|
|
12
16
|
exports.getWorkerURL = getWorkerURL;
|
|
13
17
|
var getFullApiPath = function (apiPath) {
|
|
14
|
-
if (
|
|
18
|
+
if (exports.isNewUI(apiPath)) {
|
|
15
19
|
return "" + window.location.origin + apiPath;
|
|
16
20
|
}
|
|
17
21
|
else {
|
|
@@ -56,6 +56,7 @@ var useAPI = function (config) {
|
|
|
56
56
|
var apiPath = react_redux_1.useSelector(mdm_module_1.default.selectors.getApiPath);
|
|
57
57
|
var workflowPath = react_redux_1.useSelector(mdm_module_1.default.selectors.getWorkflowPath);
|
|
58
58
|
var user = react_redux_1.useSelector(mdm_module_1.default.selectors.getUser);
|
|
59
|
+
var servicesPath = react_redux_1.useSelector(mdm_module_1.default.selectors.getServicesPath);
|
|
59
60
|
var entityUri = react_redux_1.useSelector(mdm_module_1.default.selectors.getEntityUri);
|
|
60
61
|
var environment = react_redux_1.useSelector(mdm_module_1.default.selectors.getWorkflowEnvironmentUrl);
|
|
61
62
|
var qxApi = react_1.useContext(contexts_1.SandboxAPIContext);
|
|
@@ -165,7 +166,8 @@ var useAPI = function (config) {
|
|
|
165
166
|
}
|
|
166
167
|
case mdm_sdk_1.CustomAction.REQUEST: {
|
|
167
168
|
API_1.processRequest(__assign({ name: task.params.name, paramObject: task, permissions: config.action.permissions, worker: worker,
|
|
168
|
-
metadata: metadata, config: config, user: user,
|
|
169
|
+
metadata: metadata, config: config, user: user,
|
|
170
|
+
servicesPath: servicesPath, apiPath: helpers_1.getFullApiPath(apiPath), tenant: tenant,
|
|
169
171
|
workflowPath: workflowPath,
|
|
170
172
|
entity: entity,
|
|
171
173
|
entityUri: entityUri,
|
|
@@ -82,6 +82,7 @@ var useCustomScripts = function (config, _a) {
|
|
|
82
82
|
var metadata = react_redux_1.useSelector(mdm_module_1.default.selectors.getMetadata) || {};
|
|
83
83
|
var entity = react_redux_1.useSelector(mdm_module_1.default.selectors.getEntity) || {};
|
|
84
84
|
var uiPath = react_redux_1.useSelector(mdm_module_1.default.selectors.getUIPath);
|
|
85
|
+
var servicesPath = react_redux_1.useSelector(mdm_module_1.default.selectors.getServicesPath);
|
|
85
86
|
var reltioPath = react_redux_1.useSelector(mdm_module_1.default.selectors.getReltioPath);
|
|
86
87
|
var tenant = react_redux_1.useSelector(mdm_module_1.default.selectors.getTenant);
|
|
87
88
|
var workerUrl = useAPI_1.getWorkerURL(uiPath, tenant);
|
|
@@ -117,6 +118,7 @@ var useCustomScripts = function (config, _a) {
|
|
|
117
118
|
config: config,
|
|
118
119
|
user: user,
|
|
119
120
|
apiPath: apiPath,
|
|
121
|
+
servicesPath: servicesPath,
|
|
120
122
|
tenant: tenant,
|
|
121
123
|
workflowPath: workflowPath,
|
|
122
124
|
entity: entity,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { ProcessRequestParams } from './types';
|
|
2
|
-
export declare const processRequest: ({ name, paramObject, permissions, worker, metadata, config, apiPath, user, workflowPath, entity, tenant, entityUri, query, openSearch, environment, getCurrentPerspectiveId, showPerspective, workflowCheckPermission, setEntityUri }: ProcessRequestParams) => void;
|
|
2
|
+
export declare const processRequest: ({ name, paramObject, permissions, worker, metadata, config, apiPath, servicesPath, user, workflowPath, entity, tenant, entityUri, query, openSearch, environment, getCurrentPerspectiveId, showPerspective, workflowCheckPermission, setEntityUri }: ProcessRequestParams) => void;
|
package/esm/hooks/useAPI/API.js
CHANGED
|
@@ -9,7 +9,44 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
|
-
|
|
12
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
13
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
14
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
15
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
16
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
17
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
18
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
22
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
23
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
24
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
25
|
+
function step(op) {
|
|
26
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
27
|
+
while (_) try {
|
|
28
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
29
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
30
|
+
switch (op[0]) {
|
|
31
|
+
case 0: case 1: t = op; break;
|
|
32
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
33
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
34
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
35
|
+
default:
|
|
36
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
37
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
38
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
39
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
40
|
+
if (t[2]) _.ops.pop();
|
|
41
|
+
_.trys.pop(); continue;
|
|
42
|
+
}
|
|
43
|
+
op = body.call(thisArg, _);
|
|
44
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
45
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
import { getAccessToken, RequestAction, sendRequestFromCustomSandbox, sendWorkflowRequest, startProcessFromQuery } from '@reltio/mdm-sdk';
|
|
49
|
+
import { isNewUI } from './helpers';
|
|
13
50
|
var processFromQuery = function (params, permissions, workflowPath, tenant, environment) {
|
|
14
51
|
if (!params.processDefinitionId) {
|
|
15
52
|
return new Promise(function (resolve) { return resolve({ errorMessage: 'processDefinitionId is empty' }); });
|
|
@@ -32,37 +69,69 @@ var processFromQuery = function (params, permissions, workflowPath, tenant, envi
|
|
|
32
69
|
environment: environment
|
|
33
70
|
});
|
|
34
71
|
};
|
|
35
|
-
var
|
|
36
|
-
var
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
return sendWorkflowRequest({
|
|
46
|
-
url: url,
|
|
47
|
-
method: params.method || 'GET',
|
|
48
|
-
data: params.data,
|
|
49
|
-
tenant: tenant,
|
|
50
|
-
headers: params.headers,
|
|
51
|
-
workflowPath: workflowPath
|
|
72
|
+
var getHeaders = function (params, signHandler) { return __awaiter(void 0, void 0, void 0, function () {
|
|
73
|
+
var accessToken;
|
|
74
|
+
return __generator(this, function (_a) {
|
|
75
|
+
switch (_a.label) {
|
|
76
|
+
case 0: return [4 /*yield*/, (signHandler === null || signHandler === void 0 ? void 0 : signHandler())];
|
|
77
|
+
case 1:
|
|
78
|
+
accessToken = (_a.sent()).accessToken;
|
|
79
|
+
return [2 /*return*/, accessToken
|
|
80
|
+
? __assign(__assign({}, params.headers), { Authorization: "Bearer " + accessToken }) : params.headers];
|
|
81
|
+
}
|
|
52
82
|
});
|
|
53
|
-
};
|
|
54
|
-
var
|
|
55
|
-
var errors
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
83
|
+
}); };
|
|
84
|
+
var workflowRequest = function (params, permissions, workflowPath, tenant, signHandler) { return __awaiter(void 0, void 0, void 0, function () {
|
|
85
|
+
var url, errors, isExternalUrl, headers;
|
|
86
|
+
return __generator(this, function (_a) {
|
|
87
|
+
switch (_a.label) {
|
|
88
|
+
case 0:
|
|
89
|
+
url = params.url;
|
|
90
|
+
errors = validateParams(params, permissions);
|
|
91
|
+
if (errors) {
|
|
92
|
+
return [2 /*return*/, errors];
|
|
93
|
+
}
|
|
94
|
+
isExternalUrl = url.includes('http:') || url.includes('https:');
|
|
95
|
+
if (!workflowPath && !isExternalUrl) {
|
|
96
|
+
return [2 /*return*/, { errorMessage: 'Workflow path is not defined' }];
|
|
97
|
+
}
|
|
98
|
+
return [4 /*yield*/, getHeaders(params, signHandler)];
|
|
99
|
+
case 1:
|
|
100
|
+
headers = _a.sent();
|
|
101
|
+
return [4 /*yield*/, sendWorkflowRequest({
|
|
102
|
+
url: url,
|
|
103
|
+
method: params.method || 'GET',
|
|
104
|
+
data: params.data,
|
|
105
|
+
tenant: tenant,
|
|
106
|
+
headers: headers,
|
|
107
|
+
workflowPath: workflowPath
|
|
108
|
+
})];
|
|
109
|
+
case 2: return [2 /*return*/, _a.sent()];
|
|
110
|
+
}
|
|
64
111
|
});
|
|
65
|
-
};
|
|
112
|
+
}); };
|
|
113
|
+
var sendApiRequest = function (params, permissions, signHandler) { return __awaiter(void 0, void 0, void 0, function () {
|
|
114
|
+
var errors, headers;
|
|
115
|
+
return __generator(this, function (_a) {
|
|
116
|
+
switch (_a.label) {
|
|
117
|
+
case 0:
|
|
118
|
+
errors = validateParams(params, permissions);
|
|
119
|
+
if (errors) {
|
|
120
|
+
return [2 /*return*/, errors];
|
|
121
|
+
}
|
|
122
|
+
return [4 /*yield*/, getHeaders(params, signHandler)];
|
|
123
|
+
case 1:
|
|
124
|
+
headers = _a.sent();
|
|
125
|
+
return [4 /*yield*/, sendRequestFromCustomSandbox({
|
|
126
|
+
url: params.url,
|
|
127
|
+
method: params.method,
|
|
128
|
+
data: params.data,
|
|
129
|
+
headers: headers
|
|
130
|
+
})];
|
|
131
|
+
case 2: return [2 /*return*/, _a.sent()];
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
}); };
|
|
66
135
|
var validateParams = function (params, permissions) {
|
|
67
136
|
var url = params.url;
|
|
68
137
|
if (!url)
|
|
@@ -86,7 +155,7 @@ var validateParams = function (params, permissions) {
|
|
|
86
155
|
return false;
|
|
87
156
|
};
|
|
88
157
|
export var processRequest = function (_a) {
|
|
89
|
-
var name = _a.name, paramObject = _a.paramObject, permissions = _a.permissions, worker = _a.worker, metadata = _a.metadata, config = _a.config, apiPath = _a.apiPath, user = _a.user, workflowPath = _a.workflowPath, entity = _a.entity, tenant = _a.tenant, entityUri = _a.entityUri, query = _a.query, openSearch = _a.openSearch, environment = _a.environment, getCurrentPerspectiveId = _a.getCurrentPerspectiveId, showPerspective = _a.showPerspective, workflowCheckPermission = _a.workflowCheckPermission, setEntityUri = _a.setEntityUri;
|
|
158
|
+
var name = _a.name, paramObject = _a.paramObject, permissions = _a.permissions, worker = _a.worker, metadata = _a.metadata, config = _a.config, apiPath = _a.apiPath, servicesPath = _a.servicesPath, user = _a.user, workflowPath = _a.workflowPath, entity = _a.entity, tenant = _a.tenant, entityUri = _a.entityUri, query = _a.query, openSearch = _a.openSearch, environment = _a.environment, getCurrentPerspectiveId = _a.getCurrentPerspectiveId, showPerspective = _a.showPerspective, workflowCheckPermission = _a.workflowCheckPermission, setEntityUri = _a.setEntityUri;
|
|
90
159
|
var handleRequest = function (request) {
|
|
91
160
|
request
|
|
92
161
|
.then(function (data) {
|
|
@@ -96,14 +165,18 @@ export var processRequest = function (_a) {
|
|
|
96
165
|
worker.postMessage(__assign({ action: 'response', result: { data: {}, headers: '', status: 0 } }, paramObject.params));
|
|
97
166
|
});
|
|
98
167
|
};
|
|
168
|
+
var shouldSignRequest = isNewUI(servicesPath);
|
|
169
|
+
var signHandler = shouldSignRequest
|
|
170
|
+
? function () { return getAccessToken({ servicesPath: servicesPath }); }
|
|
171
|
+
: function () { return Promise.resolve({ accessToken: '' }); };
|
|
99
172
|
switch (name) {
|
|
100
173
|
case RequestAction.API: {
|
|
101
|
-
var request = sendApiRequest(paramObject.params, permissions);
|
|
174
|
+
var request = sendApiRequest(paramObject.params, permissions, signHandler);
|
|
102
175
|
handleRequest(request);
|
|
103
176
|
break;
|
|
104
177
|
}
|
|
105
178
|
case RequestAction.WORKFLOW: {
|
|
106
|
-
var request = workflowRequest(paramObject.params, permissions, workflowPath, tenant);
|
|
179
|
+
var request = workflowRequest(paramObject.params, permissions, workflowPath, tenant, signHandler);
|
|
107
180
|
handleRequest(request);
|
|
108
181
|
break;
|
|
109
182
|
}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
export var isNewUI = function (path) {
|
|
2
|
+
return path === null || path === void 0 ? void 0 : path.includes('/nui');
|
|
3
|
+
};
|
|
1
4
|
export var getWorkerURL = function (uiPath, tenant) {
|
|
2
|
-
if (uiPath
|
|
5
|
+
if (isNewUI(uiPath)) {
|
|
3
6
|
return uiPath.replace(tenant + "/", '') + "worker_api.js";
|
|
4
7
|
}
|
|
5
8
|
else {
|
|
@@ -7,7 +10,7 @@ export var getWorkerURL = function (uiPath, tenant) {
|
|
|
7
10
|
}
|
|
8
11
|
};
|
|
9
12
|
export var getFullApiPath = function (apiPath) {
|
|
10
|
-
if (apiPath
|
|
13
|
+
if (isNewUI(apiPath)) {
|
|
11
14
|
return "" + window.location.origin + apiPath;
|
|
12
15
|
}
|
|
13
16
|
else {
|
|
@@ -34,6 +34,7 @@ export var useAPI = function (config) {
|
|
|
34
34
|
var apiPath = useSelector(mdmModule.selectors.getApiPath);
|
|
35
35
|
var workflowPath = useSelector(mdmModule.selectors.getWorkflowPath);
|
|
36
36
|
var user = useSelector(mdmModule.selectors.getUser);
|
|
37
|
+
var servicesPath = useSelector(mdmModule.selectors.getServicesPath);
|
|
37
38
|
var entityUri = useSelector(mdmModule.selectors.getEntityUri);
|
|
38
39
|
var environment = useSelector(mdmModule.selectors.getWorkflowEnvironmentUrl);
|
|
39
40
|
var qxApi = useContext(SandboxAPIContext);
|
|
@@ -143,7 +144,8 @@ export var useAPI = function (config) {
|
|
|
143
144
|
}
|
|
144
145
|
case CustomAction.REQUEST: {
|
|
145
146
|
processRequest(__assign({ name: task.params.name, paramObject: task, permissions: config.action.permissions, worker: worker,
|
|
146
|
-
metadata: metadata, config: config, user: user,
|
|
147
|
+
metadata: metadata, config: config, user: user,
|
|
148
|
+
servicesPath: servicesPath, apiPath: getFullApiPath(apiPath), tenant: tenant,
|
|
147
149
|
workflowPath: workflowPath,
|
|
148
150
|
entity: entity,
|
|
149
151
|
entityUri: entityUri,
|
|
@@ -57,6 +57,7 @@ export var useCustomScripts = function (config, _a) {
|
|
|
57
57
|
var metadata = useSelector(mdmModule.selectors.getMetadata) || {};
|
|
58
58
|
var entity = useSelector(mdmModule.selectors.getEntity) || {};
|
|
59
59
|
var uiPath = useSelector(mdmModule.selectors.getUIPath);
|
|
60
|
+
var servicesPath = useSelector(mdmModule.selectors.getServicesPath);
|
|
60
61
|
var reltioPath = useSelector(mdmModule.selectors.getReltioPath);
|
|
61
62
|
var tenant = useSelector(mdmModule.selectors.getTenant);
|
|
62
63
|
var workerUrl = getWorkerURL(uiPath, tenant);
|
|
@@ -92,6 +93,7 @@ export var useCustomScripts = function (config, _a) {
|
|
|
92
93
|
config: config,
|
|
93
94
|
user: user,
|
|
94
95
|
apiPath: apiPath,
|
|
96
|
+
servicesPath: servicesPath,
|
|
95
97
|
tenant: tenant,
|
|
96
98
|
workflowPath: workflowPath,
|
|
97
99
|
entity: entity,
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reltio/components",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.1175",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE FILE",
|
|
5
5
|
"main": "./cjs/index.js",
|
|
6
6
|
"module": "./esm/index.js",
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"@date-io/moment": "^1.3.5",
|
|
9
9
|
"@react-google-maps/api": "2.7.0",
|
|
10
|
-
"@reltio/mdm-module": "^1.4.
|
|
11
|
-
"@reltio/mdm-sdk": "^1.4.
|
|
10
|
+
"@reltio/mdm-module": "^1.4.1175",
|
|
11
|
+
"@reltio/mdm-sdk": "^1.4.1175",
|
|
12
12
|
"classnames": "^2.2.5",
|
|
13
13
|
"d3-cloud": "^1.2.5",
|
|
14
14
|
"d3-geo": "^2.0.1",
|