@reltio/components 1.4.1578 → 1.4.1580
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/components/AttributeListItem/AttributeListItem.d.ts +3 -1
- package/cjs/components/AttributeListItem/AttributeListItem.js +3 -3
- package/cjs/hooks/useAPI/API.d.ts +1 -1
- package/cjs/hooks/useAPI/API.js +101 -121
- package/cjs/hooks/useAPI/helpers.d.ts +8 -27
- package/cjs/hooks/useAPI/helpers.js +49 -89
- package/cjs/hooks/useAPI/types.d.ts +3 -6
- package/cjs/hooks/useAPI/useAPI.js +29 -53
- package/cjs/hooks/useCustomScripts.js +26 -61
- package/esm/components/AttributeListItem/AttributeListItem.d.ts +3 -1
- package/esm/components/AttributeListItem/AttributeListItem.js +3 -3
- package/esm/hooks/useAPI/API.d.ts +1 -1
- package/esm/hooks/useAPI/API.js +101 -121
- package/esm/hooks/useAPI/helpers.d.ts +8 -27
- package/esm/hooks/useAPI/helpers.js +42 -84
- package/esm/hooks/useAPI/types.d.ts +3 -6
- package/esm/hooks/useAPI/useAPI.js +32 -56
- package/esm/hooks/useCustomScripts.js +29 -64
- package/package.json +3 -3
package/esm/hooks/useAPI/API.js
CHANGED
|
@@ -46,95 +46,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
48
|
import { getAccessToken, RequestAction, sendRequestFromCustomSandbox, sendWorkflowRequest, startProcessFromQuery } from '@reltio/mdm-sdk';
|
|
49
|
-
|
|
50
|
-
var processFromQuery = function (params, permissions, workflowPath, tenant, environment) {
|
|
51
|
-
if (!params.processDefinitionId) {
|
|
52
|
-
return new Promise(function (resolve) { return resolve({ errorMessage: 'processDefinitionId is empty' }); });
|
|
53
|
-
}
|
|
54
|
-
if (!params.searchString) {
|
|
55
|
-
return new Promise(function (resolve) { return resolve({ errorMessage: 'searchString is empty' }); });
|
|
56
|
-
}
|
|
57
|
-
if (!workflowPath) {
|
|
58
|
-
return new Promise(function (resolve) { return resolve({ errorMessage: 'Workflow path is not defined' }); });
|
|
59
|
-
}
|
|
60
|
-
var errors = validateParams(__assign({ validationUrl: '/processInstances/_generateFromQuery' }, params), permissions);
|
|
61
|
-
if (errors) {
|
|
62
|
-
return new Promise(function (resolve) { return resolve(errors); });
|
|
63
|
-
}
|
|
64
|
-
return startProcessFromQuery({
|
|
65
|
-
workflowPath: workflowPath,
|
|
66
|
-
processType: params.processDefinitionId,
|
|
67
|
-
searchString: params.searchString,
|
|
68
|
-
tenant: tenant,
|
|
69
|
-
environment: environment
|
|
70
|
-
});
|
|
71
|
-
};
|
|
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 ".concat(accessToken) }) : params.headers];
|
|
81
|
-
}
|
|
82
|
-
});
|
|
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
|
-
}
|
|
111
|
-
});
|
|
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*/, Promise.reject(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
|
-
noRequestProcessor: true
|
|
131
|
-
})];
|
|
132
|
-
case 2: return [2 /*return*/, _a.sent()];
|
|
133
|
-
}
|
|
134
|
-
});
|
|
135
|
-
}); };
|
|
136
|
-
var validateParams = function (params, permissions) {
|
|
137
|
-
var validationUrl = params.validationUrl;
|
|
49
|
+
var validateParams = function (validationUrl, permissions) {
|
|
138
50
|
if (!validationUrl)
|
|
139
51
|
return { errorMessage: 'URL is empty' };
|
|
140
52
|
var allowed = permissions === null || permissions === void 0 ? void 0 : permissions.some(function (permission) {
|
|
@@ -152,48 +64,116 @@ var validateParams = function (params, permissions) {
|
|
|
152
64
|
}
|
|
153
65
|
return false;
|
|
154
66
|
};
|
|
67
|
+
var getAuthHeaders = function (headers, servicesPath) { return __awaiter(void 0, void 0, void 0, function () {
|
|
68
|
+
var accessToken;
|
|
69
|
+
return __generator(this, function (_a) {
|
|
70
|
+
switch (_a.label) {
|
|
71
|
+
case 0: return [4 /*yield*/, getAccessToken({ servicesPath: servicesPath })];
|
|
72
|
+
case 1:
|
|
73
|
+
accessToken = (_a.sent()).accessToken;
|
|
74
|
+
return [2 /*return*/, accessToken ? __assign(__assign({}, headers), { Authorization: "Bearer ".concat(accessToken) }) : headers];
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}); };
|
|
155
78
|
export var processRequest = function (_a) {
|
|
156
|
-
var
|
|
79
|
+
var params = _a.params, 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;
|
|
80
|
+
var name = params.name, url = params.url, data = params.data, method = params.method, validationUrl = params.validationUrl;
|
|
81
|
+
var processFromQuery = function () {
|
|
82
|
+
if (!params.processDefinitionId) {
|
|
83
|
+
return new Promise(function (resolve) { return resolve({ errorMessage: 'processDefinitionId is empty' }); });
|
|
84
|
+
}
|
|
85
|
+
if (!params.searchString) {
|
|
86
|
+
return new Promise(function (resolve) { return resolve({ errorMessage: 'searchString is empty' }); });
|
|
87
|
+
}
|
|
88
|
+
if (!workflowPath) {
|
|
89
|
+
return new Promise(function (resolve) { return resolve({ errorMessage: 'Workflow path is not defined' }); });
|
|
90
|
+
}
|
|
91
|
+
var errors = validateParams('/processInstances/_generateFromQuery', permissions);
|
|
92
|
+
if (errors) {
|
|
93
|
+
return new Promise(function (resolve) { return resolve(errors); });
|
|
94
|
+
}
|
|
95
|
+
return startProcessFromQuery({
|
|
96
|
+
workflowPath: workflowPath,
|
|
97
|
+
processType: params.processDefinitionId,
|
|
98
|
+
searchString: params.searchString,
|
|
99
|
+
tenant: tenant,
|
|
100
|
+
environment: environment
|
|
101
|
+
});
|
|
102
|
+
};
|
|
103
|
+
var workflowRequest = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
104
|
+
var errors, isExternalUrl, headers;
|
|
105
|
+
return __generator(this, function (_a) {
|
|
106
|
+
switch (_a.label) {
|
|
107
|
+
case 0:
|
|
108
|
+
errors = validateParams(validationUrl, permissions);
|
|
109
|
+
if (errors) {
|
|
110
|
+
return [2 /*return*/, errors];
|
|
111
|
+
}
|
|
112
|
+
isExternalUrl = url.includes('http:') || url.includes('https:');
|
|
113
|
+
if (!workflowPath && !isExternalUrl) {
|
|
114
|
+
return [2 /*return*/, { errorMessage: 'Workflow path is not defined' }];
|
|
115
|
+
}
|
|
116
|
+
return [4 /*yield*/, getAuthHeaders(params.headers, servicesPath)];
|
|
117
|
+
case 1:
|
|
118
|
+
headers = _a.sent();
|
|
119
|
+
return [4 /*yield*/, sendWorkflowRequest({ url: url, method: method, data: data, tenant: tenant, headers: headers, workflowPath: workflowPath })];
|
|
120
|
+
case 2: return [2 /*return*/, _a.sent()];
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
}); };
|
|
124
|
+
var sendApiRequest = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
125
|
+
var errors, headers;
|
|
126
|
+
return __generator(this, function (_a) {
|
|
127
|
+
switch (_a.label) {
|
|
128
|
+
case 0:
|
|
129
|
+
errors = validateParams(validationUrl, permissions);
|
|
130
|
+
if (errors) {
|
|
131
|
+
return [2 /*return*/, Promise.reject(errors)];
|
|
132
|
+
}
|
|
133
|
+
return [4 /*yield*/, getAuthHeaders(params.headers, servicesPath)];
|
|
134
|
+
case 1:
|
|
135
|
+
headers = _a.sent();
|
|
136
|
+
return [4 /*yield*/, sendRequestFromCustomSandbox({ url: url, method: method, data: data, headers: headers, noRequestProcessor: true })];
|
|
137
|
+
case 2: return [2 /*return*/, _a.sent()];
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
}); };
|
|
157
141
|
var handleRequest = function (request) {
|
|
158
142
|
request
|
|
159
143
|
.then(function (response) { return (response.json ? response.json() : response); })
|
|
160
144
|
.then(function (data) {
|
|
161
145
|
worker.postMessage(__assign({ action: 'response', result: {
|
|
162
146
|
data: JSON.parse(JSON.stringify(data)),
|
|
163
|
-
headers:
|
|
147
|
+
headers: params.headers,
|
|
164
148
|
status: 200
|
|
165
|
-
} },
|
|
149
|
+
} }, params));
|
|
166
150
|
})
|
|
167
151
|
.catch(function (error) {
|
|
168
152
|
worker.postMessage(__assign({ action: 'response', result: {
|
|
169
153
|
data: JSON.parse(JSON.stringify(error)),
|
|
170
|
-
headers:
|
|
154
|
+
headers: params.headers,
|
|
171
155
|
status: 0
|
|
172
|
-
} },
|
|
156
|
+
} }, params));
|
|
173
157
|
});
|
|
174
158
|
};
|
|
175
|
-
var shouldSignRequest = isNewUI(servicesPath);
|
|
176
|
-
var signHandler = shouldSignRequest
|
|
177
|
-
? function () { return getAccessToken({ servicesPath: servicesPath }); }
|
|
178
|
-
: function () { return Promise.resolve({ accessToken: '' }); };
|
|
179
159
|
switch (name) {
|
|
180
160
|
case RequestAction.API: {
|
|
181
|
-
var request = sendApiRequest(
|
|
161
|
+
var request = sendApiRequest();
|
|
182
162
|
handleRequest(request);
|
|
183
163
|
break;
|
|
184
164
|
}
|
|
185
165
|
case RequestAction.WORKFLOW: {
|
|
186
|
-
var request = workflowRequest(
|
|
166
|
+
var request = workflowRequest();
|
|
187
167
|
handleRequest(request);
|
|
188
168
|
break;
|
|
189
169
|
}
|
|
190
170
|
case RequestAction.WORKFLOW_START_PROCESS_FROM_QUERY: {
|
|
191
|
-
var request = processFromQuery(
|
|
171
|
+
var request = processFromQuery();
|
|
192
172
|
handleRequest(request);
|
|
193
173
|
break;
|
|
194
174
|
}
|
|
195
175
|
case RequestAction.GET_CONFIGURATION: {
|
|
196
|
-
worker.postMessage(__assign({ action: 'response', result: metadata },
|
|
176
|
+
worker.postMessage(__assign({ action: 'response', result: metadata }, params));
|
|
197
177
|
break;
|
|
198
178
|
}
|
|
199
179
|
case RequestAction.GET_UI_CONFIGURATION: {
|
|
@@ -201,77 +181,77 @@ export var processRequest = function (_a) {
|
|
|
201
181
|
if (response.action.permissions) {
|
|
202
182
|
delete response.action.permissions;
|
|
203
183
|
}
|
|
204
|
-
worker.postMessage(__assign({ action: 'response', result: response },
|
|
184
|
+
worker.postMessage(__assign({ action: 'response', result: response }, params));
|
|
205
185
|
break;
|
|
206
186
|
}
|
|
207
187
|
case RequestAction.SET_ENTITY_URI: {
|
|
208
188
|
var listener = function (newEntity) {
|
|
209
|
-
return worker.postMessage(__assign({ action: 'response', result: newEntity },
|
|
189
|
+
return worker.postMessage(__assign({ action: 'response', result: newEntity }, params));
|
|
210
190
|
};
|
|
211
|
-
setEntityUri(
|
|
191
|
+
setEntityUri(params.entityUri, listener);
|
|
212
192
|
break;
|
|
213
193
|
}
|
|
214
194
|
case RequestAction.SET_PERSPECTIVE: {
|
|
215
|
-
showPerspective(
|
|
216
|
-
worker.postMessage(__assign({ action: 'response', result: getCurrentPerspectiveId() },
|
|
195
|
+
showPerspective(params.perspective);
|
|
196
|
+
worker.postMessage(__assign({ action: 'response', result: getCurrentPerspectiveId() }, params));
|
|
217
197
|
break;
|
|
218
198
|
}
|
|
219
199
|
case RequestAction.GET_PERSPECTIVE: {
|
|
220
200
|
if (getCurrentPerspectiveId) {
|
|
221
|
-
worker.postMessage(__assign({ action: 'response', result: getCurrentPerspectiveId() },
|
|
201
|
+
worker.postMessage(__assign({ action: 'response', result: getCurrentPerspectiveId() }, params));
|
|
222
202
|
}
|
|
223
203
|
break;
|
|
224
204
|
}
|
|
225
205
|
case RequestAction.WORKFLOW_CHECK_PERMISSION: {
|
|
226
|
-
worker.postMessage(__assign({ action: 'response', result: workflowCheckPermission(
|
|
206
|
+
worker.postMessage(__assign({ action: 'response', result: workflowCheckPermission(params.permission) }, params));
|
|
227
207
|
break;
|
|
228
208
|
}
|
|
229
209
|
case RequestAction.GET_SEARCH_QUERY: {
|
|
230
|
-
worker.postMessage(__assign({ action: 'response', result: query },
|
|
210
|
+
worker.postMessage(__assign({ action: 'response', result: query }, params));
|
|
231
211
|
break;
|
|
232
212
|
}
|
|
233
213
|
case RequestAction.OPEN_SEARCH: {
|
|
234
|
-
openSearch({ viewId: config.id, searchState:
|
|
214
|
+
openSearch({ viewId: config.id, searchState: params.searchState || {} });
|
|
235
215
|
break;
|
|
236
216
|
}
|
|
237
217
|
case RequestAction.GET_ENTITY_URI: {
|
|
238
|
-
worker.postMessage(__assign({ action: 'response', result: entityUri },
|
|
218
|
+
worker.postMessage(__assign({ action: 'response', result: entityUri }, params));
|
|
239
219
|
break;
|
|
240
220
|
}
|
|
241
221
|
case RequestAction.GET_ENTITY: {
|
|
242
|
-
worker.postMessage(__assign({ action: 'response', result: entity },
|
|
222
|
+
worker.postMessage(__assign({ action: 'response', result: entity }, params));
|
|
243
223
|
break;
|
|
244
224
|
}
|
|
245
225
|
case RequestAction.GET_API_PATH: {
|
|
246
|
-
worker.postMessage(__assign({ action: 'response', result: apiPath },
|
|
226
|
+
worker.postMessage(__assign({ action: 'response', result: apiPath }, params));
|
|
247
227
|
break;
|
|
248
228
|
}
|
|
249
229
|
case RequestAction.WORKFLOW_GET_WORKFLOW_PATH: {
|
|
250
|
-
worker.postMessage(__assign({ action: 'response', result: workflowPath },
|
|
230
|
+
worker.postMessage(__assign({ action: 'response', result: workflowPath }, params));
|
|
251
231
|
break;
|
|
252
232
|
}
|
|
253
233
|
case RequestAction.GET_TENANT: {
|
|
254
|
-
worker.postMessage(__assign({ action: 'response', result: tenant },
|
|
234
|
+
worker.postMessage(__assign({ action: 'response', result: tenant }, params));
|
|
255
235
|
break;
|
|
256
236
|
}
|
|
257
237
|
case RequestAction.GET_USER: {
|
|
258
|
-
worker.postMessage(__assign({ action: 'response', result: user },
|
|
238
|
+
worker.postMessage(__assign({ action: 'response', result: user }, params));
|
|
259
239
|
break;
|
|
260
240
|
}
|
|
261
241
|
case RequestAction.ALERT: {
|
|
262
|
-
worker.postMessage(__assign({ action: 'response', result: window.alert(
|
|
242
|
+
worker.postMessage(__assign({ action: 'response', result: window.alert(params.text) }, params));
|
|
263
243
|
break;
|
|
264
244
|
}
|
|
265
245
|
case RequestAction.CONFIRM: {
|
|
266
|
-
worker.postMessage(__assign({ action: 'response', result: window.confirm(
|
|
246
|
+
worker.postMessage(__assign({ action: 'response', result: window.confirm(params.text) }, params));
|
|
267
247
|
break;
|
|
268
248
|
}
|
|
269
249
|
case RequestAction.PROMPT: {
|
|
270
|
-
worker.postMessage(__assign({ action: 'response', result: window.prompt(
|
|
250
|
+
worker.postMessage(__assign({ action: 'response', result: window.prompt(params.text, params.defaultText || '') }, params));
|
|
271
251
|
break;
|
|
272
252
|
}
|
|
273
253
|
case RequestAction.OPEN_WINDOW: {
|
|
274
|
-
window.open(
|
|
254
|
+
window.open(params.url, '_blank');
|
|
275
255
|
break;
|
|
276
256
|
}
|
|
277
257
|
case RequestAction.RELOAD_PAGE: {
|
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
import { CustomActionTask, CustomActionTaskParams, CustomScript, RequestHandler, ResponseHandler } from '@reltio/mdm-sdk';
|
|
2
|
+
export declare const isValidCustomScript: (config?: CustomScript) => boolean;
|
|
3
|
+
export declare const isURLtoProcess: (url: string, processApi?: string[]) => boolean;
|
|
2
4
|
export declare const getWorkerURL: (uiPath: string, tenant: string) => string;
|
|
5
|
+
export declare const getRequestFakeUrl: (url: string, apiPath: string, reltioPath: string, tenant: string) => string;
|
|
6
|
+
export declare const getResponseFakeUrl: (url: string, apiPath: string, reltioPath: string) => string;
|
|
7
|
+
export declare const getProcessedTask: (task: CustomActionTask, apiPath: string, reltioPath: string, tenant: string) => CustomActionTask;
|
|
3
8
|
export declare const getFilesWithArrayBuffer: (files: FileList) => Promise<unknown[]>;
|
|
4
9
|
type ResetHTMLParams = {
|
|
5
10
|
worker: Worker;
|
|
@@ -10,18 +15,6 @@ type ResetHTMLParams = {
|
|
|
10
15
|
setHtml: any;
|
|
11
16
|
};
|
|
12
17
|
export declare const resetHtml: ({ worker, setTooltip, innerText, html, setListenersToReset, setHtml }: ResetHTMLParams) => void;
|
|
13
|
-
export declare const setUpQooxdooRequestInterceptor: ({ workerRef, setRequestListeners }: {
|
|
14
|
-
workerRef: any;
|
|
15
|
-
setRequestListeners: any;
|
|
16
|
-
}) => {
|
|
17
|
-
processApiRequest: (url: any, method: any, headers: any, data: any, next: any) => void;
|
|
18
|
-
};
|
|
19
|
-
export declare const setUpQooxdooResponseInterceptor: ({ workerRef, setResponseListeners }: {
|
|
20
|
-
workerRef: any;
|
|
21
|
-
setResponseListeners: any;
|
|
22
|
-
}) => {
|
|
23
|
-
processApiResponse: (url: any, method: any, data: any, next: any) => void;
|
|
24
|
-
};
|
|
25
18
|
export declare const setUpRequestInterceptor: ({ apiPath, reltioPath, tenant, processApiRequest, workerRef, setRequestListeners }: {
|
|
26
19
|
apiPath: any;
|
|
27
20
|
reltioPath: any;
|
|
@@ -29,24 +22,12 @@ export declare const setUpRequestInterceptor: ({ apiPath, reltioPath, tenant, pr
|
|
|
29
22
|
processApiRequest: any;
|
|
30
23
|
workerRef: any;
|
|
31
24
|
setRequestListeners: any;
|
|
32
|
-
}) =>
|
|
33
|
-
next: (url: string, options: RequestInit) => void;
|
|
34
|
-
abort?: (error: Error) => void;
|
|
35
|
-
resolve: (data: unknown) => void;
|
|
36
|
-
url: string;
|
|
37
|
-
options: RequestInit;
|
|
38
|
-
}) => void;
|
|
25
|
+
}) => RequestHandler<RequestInit & CustomActionTaskParams>;
|
|
39
26
|
export declare const setUpResponseInterceptor: ({ reltioPath, apiPath, processApiResponse, workerRef, setResponseListeners }: {
|
|
40
27
|
reltioPath: any;
|
|
41
28
|
apiPath: any;
|
|
42
29
|
processApiResponse: any;
|
|
43
30
|
workerRef: any;
|
|
44
31
|
setResponseListeners: any;
|
|
45
|
-
}) =>
|
|
46
|
-
url: any;
|
|
47
|
-
response: any;
|
|
48
|
-
next: any;
|
|
49
|
-
options: any;
|
|
50
|
-
abort: any;
|
|
51
|
-
}) => void;
|
|
32
|
+
}) => ResponseHandler<RequestInit & CustomActionTaskParams>;
|
|
52
33
|
export {};
|
|
@@ -9,17 +9,37 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
|
+
import { CustomScriptPlatform, RequestAction, isEmptyValue } from '@reltio/mdm-sdk';
|
|
12
13
|
import { nanoid } from 'nanoid';
|
|
13
|
-
export var
|
|
14
|
-
|
|
14
|
+
export var isValidCustomScript = function (config) {
|
|
15
|
+
var _a = config || {}, files = _a.files, platform = _a.platform;
|
|
16
|
+
return !isEmptyValue(files) && platform !== CustomScriptPlatform.CLASSIC;
|
|
17
|
+
};
|
|
18
|
+
export var isURLtoProcess = function (url, processApi) {
|
|
19
|
+
if (processApi === void 0) { processApi = []; }
|
|
20
|
+
return processApi.some(function (request) {
|
|
21
|
+
var regExp = new RegExp("^".concat(request, "$"));
|
|
22
|
+
return request.replace(/\/*$/, '') === url || (request && regExp.test(url));
|
|
23
|
+
});
|
|
15
24
|
};
|
|
16
25
|
export var getWorkerURL = function (uiPath, tenant) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
26
|
+
return "".concat(uiPath.replace("".concat(tenant, "/"), ''), "worker_api.js");
|
|
27
|
+
};
|
|
28
|
+
export var getRequestFakeUrl = function (url, apiPath, reltioPath, tenant) {
|
|
29
|
+
return url.startsWith(apiPath) ? "".concat(reltioPath).concat(url.replace(apiPath, '')) : "".concat(reltioPath, "/api/").concat(tenant).concat(url);
|
|
30
|
+
};
|
|
31
|
+
export var getResponseFakeUrl = function (url, apiPath, reltioPath) {
|
|
32
|
+
return "".concat(reltioPath).concat(url.replace(apiPath, ''));
|
|
33
|
+
};
|
|
34
|
+
export var getProcessedTask = function (task, apiPath, reltioPath, tenant) {
|
|
35
|
+
var _a = task.params, url = _a.url, name = _a.name;
|
|
36
|
+
if (!url) {
|
|
37
|
+
return task;
|
|
22
38
|
}
|
|
39
|
+
var isApiAction = name === RequestAction.API;
|
|
40
|
+
var isGlobalUrl = url.startsWith('/') && !url.startsWith(apiPath);
|
|
41
|
+
var newUrl = isGlobalUrl && isApiAction ? "".concat(apiPath, "/api/").concat(tenant).concat(url) : url.replace(reltioPath, apiPath);
|
|
42
|
+
return __assign(__assign({}, task), { params: __assign(__assign({}, task.params), { url: newUrl, validationUrl: url }) });
|
|
23
43
|
};
|
|
24
44
|
export var getFilesWithArrayBuffer = function (files) {
|
|
25
45
|
var readFilePromises = Array.from(files).map(function (file) {
|
|
@@ -88,54 +108,12 @@ export var resetHtml = function (_a) {
|
|
|
88
108
|
setListenersToReset(handlersToReset);
|
|
89
109
|
setHtml(docBlock);
|
|
90
110
|
};
|
|
91
|
-
var isURLtoProcess = function (processApi, url) {
|
|
92
|
-
return (processApi || []).some(function (request) {
|
|
93
|
-
var regExp = new RegExp("^".concat(request, "$"));
|
|
94
|
-
return request.replace(/\/*$/, '') === url || (request && regExp.test(url));
|
|
95
|
-
});
|
|
96
|
-
};
|
|
97
|
-
export var setUpQooxdooRequestInterceptor = function (_a) {
|
|
98
|
-
var workerRef = _a.workerRef, setRequestListeners = _a.setRequestListeners;
|
|
99
|
-
return ({
|
|
100
|
-
processApiRequest: function (url, method, headers, data, next) {
|
|
101
|
-
var requestId = nanoid();
|
|
102
|
-
var options = { url: url, method: method, headers: headers, noRequestProcessor: true };
|
|
103
|
-
setRequestListeners(options, next, requestId);
|
|
104
|
-
workerRef.current.postMessage({
|
|
105
|
-
action: 'apiRequest',
|
|
106
|
-
id: requestId,
|
|
107
|
-
url: url,
|
|
108
|
-
method: method,
|
|
109
|
-
headers: headers,
|
|
110
|
-
data: data
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
};
|
|
115
|
-
export var setUpQooxdooResponseInterceptor = function (_a) {
|
|
116
|
-
var workerRef = _a.workerRef, setResponseListeners = _a.setResponseListeners;
|
|
117
|
-
return ({
|
|
118
|
-
processApiResponse: function (url, method, data, next) {
|
|
119
|
-
var responseId = nanoid();
|
|
120
|
-
setResponseListeners(next, responseId);
|
|
121
|
-
workerRef.current.postMessage({
|
|
122
|
-
action: 'apiResponse',
|
|
123
|
-
id: responseId,
|
|
124
|
-
url: url,
|
|
125
|
-
method: method,
|
|
126
|
-
data: data
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
|
-
};
|
|
131
111
|
export var setUpRequestInterceptor = function (_a) {
|
|
132
112
|
var apiPath = _a.apiPath, reltioPath = _a.reltioPath, tenant = _a.tenant, processApiRequest = _a.processApiRequest, workerRef = _a.workerRef, setRequestListeners = _a.setRequestListeners;
|
|
133
113
|
return function (_a) {
|
|
134
|
-
var _b = _a.options, options = _b === void 0 ? {} : _b
|
|
135
|
-
var fakeURL = url
|
|
136
|
-
|
|
137
|
-
: "".concat(reltioPath).concat(url.replace(apiPath, ''));
|
|
138
|
-
var isProcessableUrl = isURLtoProcess(processApiRequest, fakeURL);
|
|
114
|
+
var url = _a.url, next = _a.next, resolve = _a.resolve, _b = _a.options, options = _b === void 0 ? {} : _b;
|
|
115
|
+
var fakeURL = getRequestFakeUrl(url, apiPath, reltioPath, tenant);
|
|
116
|
+
var isProcessableUrl = isURLtoProcess(fakeURL, processApiRequest);
|
|
139
117
|
if (isProcessableUrl) {
|
|
140
118
|
var requestId = nanoid();
|
|
141
119
|
setRequestListeners(options, next, requestId, resolve);
|
|
@@ -144,7 +122,7 @@ export var setUpRequestInterceptor = function (_a) {
|
|
|
144
122
|
id: requestId,
|
|
145
123
|
url: fakeURL,
|
|
146
124
|
method: options.method,
|
|
147
|
-
headers:
|
|
125
|
+
headers: options.headers,
|
|
148
126
|
data: options.body
|
|
149
127
|
});
|
|
150
128
|
}
|
|
@@ -156,19 +134,21 @@ export var setUpRequestInterceptor = function (_a) {
|
|
|
156
134
|
export var setUpResponseInterceptor = function (_a) {
|
|
157
135
|
var reltioPath = _a.reltioPath, apiPath = _a.apiPath, processApiResponse = _a.processApiResponse, workerRef = _a.workerRef, setResponseListeners = _a.setResponseListeners;
|
|
158
136
|
return function (_a) {
|
|
159
|
-
var _b;
|
|
160
137
|
var url = _a.url, response = _a.response, next = _a.next, options = _a.options, abort = _a.abort;
|
|
161
|
-
|
|
138
|
+
var fakeURL = getResponseFakeUrl(url, apiPath, reltioPath);
|
|
139
|
+
var isProcessableUrl = isURLtoProcess(fakeURL, processApiResponse);
|
|
140
|
+
if (isProcessableUrl) {
|
|
141
|
+
var responseId_1 = nanoid();
|
|
162
142
|
response
|
|
163
143
|
.json()
|
|
164
144
|
.then(function (data) {
|
|
165
|
-
|
|
166
|
-
setResponseListeners(next, options.headers.requestId);
|
|
145
|
+
setResponseListeners(next, responseId_1);
|
|
167
146
|
workerRef.current.postMessage({
|
|
168
|
-
action: '
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
147
|
+
action: 'apiResponse',
|
|
148
|
+
id: responseId_1,
|
|
149
|
+
url: fakeURL,
|
|
150
|
+
method: options.method,
|
|
151
|
+
data: data
|
|
172
152
|
});
|
|
173
153
|
})
|
|
174
154
|
.catch(function (error) {
|
|
@@ -176,29 +156,7 @@ export var setUpResponseInterceptor = function (_a) {
|
|
|
176
156
|
});
|
|
177
157
|
}
|
|
178
158
|
else {
|
|
179
|
-
|
|
180
|
-
var isProcessableUrl = isURLtoProcess(processApiResponse, fakeURL_1);
|
|
181
|
-
if (isProcessableUrl) {
|
|
182
|
-
var responseId_1 = nanoid();
|
|
183
|
-
response
|
|
184
|
-
.json()
|
|
185
|
-
.then(function (data) {
|
|
186
|
-
setResponseListeners(next, responseId_1);
|
|
187
|
-
workerRef.current.postMessage({
|
|
188
|
-
action: 'apiResponse',
|
|
189
|
-
id: responseId_1,
|
|
190
|
-
url: fakeURL_1,
|
|
191
|
-
method: options.method,
|
|
192
|
-
data: data
|
|
193
|
-
});
|
|
194
|
-
})
|
|
195
|
-
.catch(function (error) {
|
|
196
|
-
abort(error);
|
|
197
|
-
});
|
|
198
|
-
}
|
|
199
|
-
else {
|
|
200
|
-
next(response);
|
|
201
|
-
}
|
|
159
|
+
next(response);
|
|
202
160
|
}
|
|
203
161
|
};
|
|
204
162
|
};
|
|
@@ -1,16 +1,13 @@
|
|
|
1
|
-
import { CustomActionTask, CustomActionTaskParams, CustomActionExtension, CustomActionViewConfig, CustomScriptExtension,
|
|
1
|
+
import { CustomActionTask, CustomActionTaskParams, CustomActionExtension, CustomActionViewConfig, CustomScriptExtension, Entity } from '@reltio/mdm-sdk';
|
|
2
2
|
export type ProcessRequestParams = {
|
|
3
|
-
|
|
4
|
-
paramObject: {
|
|
5
|
-
params: CustomActionTaskParams;
|
|
6
|
-
};
|
|
3
|
+
params: CustomActionTaskParams;
|
|
7
4
|
permissions?: string[];
|
|
8
5
|
worker: Worker;
|
|
9
6
|
metadata: any;
|
|
10
7
|
config: CustomActionExtension | CustomActionViewConfig | CustomScriptExtension;
|
|
11
8
|
user: any;
|
|
12
9
|
apiPath: string;
|
|
13
|
-
workflowPath
|
|
10
|
+
workflowPath?: string;
|
|
14
11
|
environment: string;
|
|
15
12
|
entity: any;
|
|
16
13
|
tenant: any;
|