@unito/integration-sdk 1.0.14 → 1.0.15
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/dist/src/index.cjs +32 -7
- package/dist/src/integration.js +2 -0
- package/package.json +1 -1
- package/src/integration.ts +2 -0
package/dist/src/index.cjs
CHANGED
|
@@ -352,13 +352,13 @@ function buildHttpError(responseStatus, message) {
|
|
|
352
352
|
return httpError;
|
|
353
353
|
}
|
|
354
354
|
|
|
355
|
-
const middleware$
|
|
355
|
+
const middleware$a = (req, res, next) => {
|
|
356
356
|
res.locals.correlationId = req.header('X-Unito-Correlation-Id') ?? crypto.randomUUID();
|
|
357
357
|
next();
|
|
358
358
|
};
|
|
359
359
|
|
|
360
360
|
const ADDITIONAL_CONTEXT_HEADER = 'X-Unito-Additional-Logging-Context';
|
|
361
|
-
const middleware$
|
|
361
|
+
const middleware$9 = (req, res, next) => {
|
|
362
362
|
const logger = new Logger({ correlation_id: res.locals.correlationId });
|
|
363
363
|
res.locals.logger = logger;
|
|
364
364
|
const rawAdditionalContext = req.header(ADDITIONAL_CONTEXT_HEADER);
|
|
@@ -375,7 +375,7 @@ const middleware$8 = (req, res, next) => {
|
|
|
375
375
|
};
|
|
376
376
|
|
|
377
377
|
const CREDENTIALS_HEADER = 'X-Unito-Credentials';
|
|
378
|
-
const middleware$
|
|
378
|
+
const middleware$8 = (req, res, next) => {
|
|
379
379
|
const credentialsHeader = req.header(CREDENTIALS_HEADER);
|
|
380
380
|
if (credentialsHeader) {
|
|
381
381
|
let credentials;
|
|
@@ -391,7 +391,7 @@ const middleware$7 = (req, res, next) => {
|
|
|
391
391
|
};
|
|
392
392
|
|
|
393
393
|
const OPERATION_DEADLINE_HEADER = 'X-Unito-Operation-Deadline';
|
|
394
|
-
const middleware$
|
|
394
|
+
const middleware$7 = (req, res, next) => {
|
|
395
395
|
const operationDeadlineHeader = Number(req.header(OPERATION_DEADLINE_HEADER));
|
|
396
396
|
if (operationDeadlineHeader) {
|
|
397
397
|
// `operationDeadlineHeader` represents a timestamp in the future, in seconds.
|
|
@@ -412,7 +412,7 @@ const middleware$6 = (req, res, next) => {
|
|
|
412
412
|
};
|
|
413
413
|
|
|
414
414
|
const SECRETS_HEADER = 'X-Unito-Secrets';
|
|
415
|
-
const middleware$
|
|
415
|
+
const middleware$6 = (req, res, next) => {
|
|
416
416
|
const secretsHeader = req.header(SECRETS_HEADER);
|
|
417
417
|
if (secretsHeader) {
|
|
418
418
|
let secrets;
|
|
@@ -427,6 +427,30 @@ const middleware$5 = (req, res, next) => {
|
|
|
427
427
|
next();
|
|
428
428
|
};
|
|
429
429
|
|
|
430
|
+
// The operators are ordered by their symbol length, in descending order.
|
|
431
|
+
// This is necessary because the symbol of an operator can be
|
|
432
|
+
// a subset of the symbol of another operator.
|
|
433
|
+
//
|
|
434
|
+
// For example, the symbol "=" (EQUAL) is a subset of the symbol "!=" (NOT_EQUAL).
|
|
435
|
+
const ORDERED_OPERATORS = Object.values(integrationApi.OperatorType).sort((o1, o2) => o1.length - o2.length);
|
|
436
|
+
const middleware$5 = (req, res, next) => {
|
|
437
|
+
const rawFilters = req.query.filter;
|
|
438
|
+
res.locals.filters = [];
|
|
439
|
+
if (typeof rawFilters === 'string') {
|
|
440
|
+
for (const rawFilter of rawFilters.split(',')) {
|
|
441
|
+
for (const operator of ORDERED_OPERATORS) {
|
|
442
|
+
if (rawFilter.includes(operator)) {
|
|
443
|
+
const [field, valuesRaw] = rawFilter.split(operator, 2);
|
|
444
|
+
const values = valuesRaw ? valuesRaw.split('|').map(decodeURIComponent) : [];
|
|
445
|
+
res.locals.filters.push({ field: field, operator, values });
|
|
446
|
+
break;
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
next();
|
|
452
|
+
};
|
|
453
|
+
|
|
430
454
|
const middleware$4 = (req, res, next) => {
|
|
431
455
|
const rawSelect = req.query.select;
|
|
432
456
|
if (typeof rawSelect === 'string') {
|
|
@@ -912,12 +936,13 @@ class Integration {
|
|
|
912
936
|
// Must be one of the first handlers (to catch all the errors).
|
|
913
937
|
app.use(middleware$2);
|
|
914
938
|
app.use(middleware);
|
|
939
|
+
app.use(middleware$a);
|
|
915
940
|
app.use(middleware$9);
|
|
916
941
|
app.use(middleware$8);
|
|
917
|
-
app.use(middleware$
|
|
942
|
+
app.use(middleware$6);
|
|
918
943
|
app.use(middleware$5);
|
|
919
944
|
app.use(middleware$4);
|
|
920
|
-
app.use(middleware$
|
|
945
|
+
app.use(middleware$7);
|
|
921
946
|
// Making sure we log all incomming requests, prior to any processing.
|
|
922
947
|
app.use((req, res, next) => {
|
|
923
948
|
res.locals.logger.info(`Initializing request for ${req.originalUrl}`);
|
package/dist/src/integration.js
CHANGED
|
@@ -5,6 +5,7 @@ import loggerMiddleware from './middlewares/logger.js';
|
|
|
5
5
|
import credentialsMiddleware from './middlewares/credentials.js';
|
|
6
6
|
import signalMiddleware from './middlewares/signal.js';
|
|
7
7
|
import secretsMiddleware from './middlewares/secrets.js';
|
|
8
|
+
import filtersMiddleware from './middlewares/filters.js';
|
|
8
9
|
import selectsMiddleware from './middlewares/selects.js';
|
|
9
10
|
import errorsMiddleware from './middlewares/errors.js';
|
|
10
11
|
import finishMiddleware from './middlewares/finish.js';
|
|
@@ -118,6 +119,7 @@ export default class Integration {
|
|
|
118
119
|
app.use(loggerMiddleware);
|
|
119
120
|
app.use(credentialsMiddleware);
|
|
120
121
|
app.use(secretsMiddleware);
|
|
122
|
+
app.use(filtersMiddleware);
|
|
121
123
|
app.use(selectsMiddleware);
|
|
122
124
|
app.use(signalMiddleware);
|
|
123
125
|
// Making sure we log all incomming requests, prior to any processing.
|
package/package.json
CHANGED
package/src/integration.ts
CHANGED
|
@@ -7,6 +7,7 @@ import loggerMiddleware from './middlewares/logger.js';
|
|
|
7
7
|
import credentialsMiddleware from './middlewares/credentials.js';
|
|
8
8
|
import signalMiddleware from './middlewares/signal.js';
|
|
9
9
|
import secretsMiddleware from './middlewares/secrets.js';
|
|
10
|
+
import filtersMiddleware from './middlewares/filters.js';
|
|
10
11
|
import selectsMiddleware from './middlewares/selects.js';
|
|
11
12
|
import errorsMiddleware from './middlewares/errors.js';
|
|
12
13
|
import finishMiddleware from './middlewares/finish.js';
|
|
@@ -134,6 +135,7 @@ export default class Integration {
|
|
|
134
135
|
app.use(loggerMiddleware);
|
|
135
136
|
app.use(credentialsMiddleware);
|
|
136
137
|
app.use(secretsMiddleware);
|
|
138
|
+
app.use(filtersMiddleware);
|
|
137
139
|
app.use(selectsMiddleware);
|
|
138
140
|
app.use(signalMiddleware);
|
|
139
141
|
|