@mhubcloud/tms_core 3.1.6-beta.1 → 3.1.6-beta.3
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/index.js +41 -38
- package/package.json +1 -1
- package/src/defaultPublisher.ts +3 -4
- package/src/publishers/cj.ts +7 -1
- package/src/utils/utils.ts +8 -7
package/dist/index.js
CHANGED
|
@@ -56,10 +56,10 @@ __export(utils_exports, {
|
|
|
56
56
|
var crypto = __toESM(require("crypto"));
|
|
57
57
|
var appInsights = __toESM(require("applicationinsights"));
|
|
58
58
|
var aiClient = null;
|
|
59
|
-
|
|
60
|
-
"
|
|
61
|
-
|
|
62
|
-
|
|
59
|
+
if (process.env.APPLICATIONINSIGHTS_CONNECTION_STRING || process.env.APPINSIGHTS_INSTRUMENTATIONKEY) {
|
|
60
|
+
appInsights.setup("92a12588-b5e9-4949-aa42-e1669194e06c").setAutoCollectDependencies(false).setAutoCollectConsole(true, true).setSendLiveMetrics(false).setAutoCollectRequests(false).setAutoCollectPerformance(false).setUseDiskRetryCaching(false).start();
|
|
61
|
+
aiClient = appInsights.defaultClient;
|
|
62
|
+
}
|
|
63
63
|
var EventPublisherBase = class {
|
|
64
64
|
config;
|
|
65
65
|
constructor(config) {
|
|
@@ -81,12 +81,8 @@ var EventPublisherBase = class {
|
|
|
81
81
|
);
|
|
82
82
|
}
|
|
83
83
|
};
|
|
84
|
-
function logMessage(level, message, properties) {
|
|
85
|
-
|
|
86
|
-
message,
|
|
87
|
-
severity: level,
|
|
88
|
-
properties
|
|
89
|
-
});
|
|
84
|
+
function logMessage(log2, level, message, properties) {
|
|
85
|
+
log2.warn(message, properties);
|
|
90
86
|
}
|
|
91
87
|
function logEvent(publisher2, event, region) {
|
|
92
88
|
const properties = {
|
|
@@ -94,13 +90,15 @@ function logEvent(publisher2, event, region) {
|
|
|
94
90
|
event,
|
|
95
91
|
region
|
|
96
92
|
};
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
exception
|
|
93
|
+
aiClient?.trackTrace({
|
|
94
|
+
message: "Event dispatched to platform",
|
|
95
|
+
severity: 1,
|
|
96
|
+
properties
|
|
102
97
|
});
|
|
103
98
|
}
|
|
99
|
+
function logException(log2, exception) {
|
|
100
|
+
log2.warn(exception.message);
|
|
101
|
+
}
|
|
104
102
|
function removeUndefined(originalValue) {
|
|
105
103
|
if (originalValue instanceof Array) {
|
|
106
104
|
return removeUndefinedFromArray(originalValue);
|
|
@@ -274,7 +272,6 @@ async function defaultPublisher(azureFunctionContext, serviceBusMessage, source,
|
|
|
274
272
|
serviceBusMessage,
|
|
275
273
|
azureFunctionContext.log,
|
|
276
274
|
platformPublisher,
|
|
277
|
-
source,
|
|
278
275
|
trigger
|
|
279
276
|
)
|
|
280
277
|
);
|
|
@@ -283,26 +280,25 @@ async function defaultPublisher(azureFunctionContext, serviceBusMessage, source,
|
|
|
283
280
|
if (result.status === "rejected") {
|
|
284
281
|
if (result.reason instanceof Error) {
|
|
285
282
|
const errorMessage = parseErrorMessage(result.reason);
|
|
286
|
-
logException(new Error(errorMessage));
|
|
287
283
|
throw new Error(errorMessage);
|
|
288
284
|
} else {
|
|
289
285
|
const errorMessage = parseErrorMessage(
|
|
290
286
|
typeof result.reason === "object" ? JSON.stringify(result.reason) : result.reason
|
|
291
287
|
);
|
|
292
|
-
logException(new Error(errorMessage));
|
|
293
288
|
throw new Error(errorMessage);
|
|
294
289
|
}
|
|
295
290
|
}
|
|
296
291
|
}
|
|
297
292
|
}
|
|
298
|
-
async function processMessage(message,
|
|
293
|
+
async function processMessage(message, log2, platformPublisher, trigger) {
|
|
299
294
|
const logProperties = {
|
|
300
295
|
source: platformPublisher.source,
|
|
301
296
|
data: JSON.stringify(message)
|
|
302
297
|
};
|
|
303
|
-
const publishers = trigger(message,
|
|
298
|
+
const publishers = trigger(message, log2);
|
|
304
299
|
if (!publishers.length) {
|
|
305
300
|
logMessage(
|
|
301
|
+
log2,
|
|
306
302
|
1,
|
|
307
303
|
"Message excluded by filter (no publishers determined)",
|
|
308
304
|
logProperties
|
|
@@ -312,9 +308,9 @@ async function processMessage(message, log3, platformPublisher, source, trigger)
|
|
|
312
308
|
let publishedAny = false;
|
|
313
309
|
const failedToPublishAll = false;
|
|
314
310
|
for (const eventPublisher of publishers) {
|
|
315
|
-
const mapped = await eventPublisher.map(message,
|
|
311
|
+
const mapped = await eventPublisher.map(message, log2);
|
|
316
312
|
const res = await publishMessage(
|
|
317
|
-
|
|
313
|
+
log2,
|
|
318
314
|
mapped,
|
|
319
315
|
eventPublisher.config,
|
|
320
316
|
platformPublisher,
|
|
@@ -327,6 +323,7 @@ async function processMessage(message, log3, platformPublisher, source, trigger)
|
|
|
327
323
|
publishedAny = true;
|
|
328
324
|
} else {
|
|
329
325
|
logException(
|
|
326
|
+
log2,
|
|
330
327
|
new Error(
|
|
331
328
|
`The message has not been published. Source: ${platformPublisher.source}`
|
|
332
329
|
)
|
|
@@ -335,6 +332,7 @@ async function processMessage(message, log3, platformPublisher, source, trigger)
|
|
|
335
332
|
}
|
|
336
333
|
if (!publishedAny) {
|
|
337
334
|
logException(
|
|
335
|
+
log2,
|
|
338
336
|
new Error(
|
|
339
337
|
"The message has not been published to any publisher configuration"
|
|
340
338
|
)
|
|
@@ -343,8 +341,8 @@ async function processMessage(message, log3, platformPublisher, source, trigger)
|
|
|
343
341
|
}
|
|
344
342
|
return !failedToPublishAll;
|
|
345
343
|
}
|
|
346
|
-
async function publishMessage(
|
|
347
|
-
await platformPublisher.publish(
|
|
344
|
+
async function publishMessage(log2, mapped, config, platformPublisher, event) {
|
|
345
|
+
await platformPublisher.publish(log2, config, mapped, event);
|
|
348
346
|
return true;
|
|
349
347
|
}
|
|
350
348
|
|
|
@@ -358,7 +356,7 @@ var affiliatePort = {
|
|
|
358
356
|
* @param data Data in publisher-friendly format to be published
|
|
359
357
|
* @param event Event for which the function is triggered
|
|
360
358
|
*/
|
|
361
|
-
async publish(
|
|
359
|
+
async publish(log2, config, data, event) {
|
|
362
360
|
if (data.products instanceof Array && (typeof config.offerId === "string" || typeof config.offerId === "number")) {
|
|
363
361
|
const affiliatePortData = removeUndefined(
|
|
364
362
|
data
|
|
@@ -377,7 +375,7 @@ var affiliatePort = {
|
|
|
377
375
|
query,
|
|
378
376
|
requestOptions,
|
|
379
377
|
event,
|
|
380
|
-
logger:
|
|
378
|
+
logger: log2
|
|
381
379
|
});
|
|
382
380
|
}
|
|
383
381
|
} else {
|
|
@@ -396,9 +394,13 @@ var cj = {
|
|
|
396
394
|
* @param data Data in publisher-friendly format to be published
|
|
397
395
|
* @param event Event for which the function is triggered
|
|
398
396
|
*/
|
|
399
|
-
async publish(
|
|
397
|
+
async publish(log2, config, data, event) {
|
|
400
398
|
if (!data.cjevent) {
|
|
401
|
-
(
|
|
399
|
+
logMessage(
|
|
400
|
+
log2,
|
|
401
|
+
1,
|
|
402
|
+
`CJ - ${event.event} - skipped because CJEVENT is missing`
|
|
403
|
+
);
|
|
402
404
|
} else {
|
|
403
405
|
if (typeof config.cid === "string" && typeof config.type === "string") {
|
|
404
406
|
const cjData = removeUndefined(data);
|
|
@@ -418,13 +420,14 @@ var cj = {
|
|
|
418
420
|
const requestOptions = {
|
|
419
421
|
method: "GET"
|
|
420
422
|
};
|
|
423
|
+
logException(log2, new Error("BOGER"));
|
|
421
424
|
await handlePlatformRequest({
|
|
422
425
|
source: this.source,
|
|
423
426
|
baseUrl,
|
|
424
427
|
query,
|
|
425
428
|
requestOptions,
|
|
426
429
|
event,
|
|
427
|
-
logger:
|
|
430
|
+
logger: log2
|
|
428
431
|
});
|
|
429
432
|
} else {
|
|
430
433
|
throw new Error("Invalid config for platform " + this.source);
|
|
@@ -443,7 +446,7 @@ var facebook = {
|
|
|
443
446
|
* @param data Data in publisher-friendly format to be published
|
|
444
447
|
* @param event Event for which the function is triggered
|
|
445
448
|
*/
|
|
446
|
-
async publish(
|
|
449
|
+
async publish(log2, config, data, event) {
|
|
447
450
|
if (typeof config.id === "string" && typeof config.access_token === "string") {
|
|
448
451
|
const requestOptions = {
|
|
449
452
|
method: "POST",
|
|
@@ -463,7 +466,7 @@ var facebook = {
|
|
|
463
466
|
query,
|
|
464
467
|
requestOptions,
|
|
465
468
|
event,
|
|
466
|
-
logger:
|
|
469
|
+
logger: log2
|
|
467
470
|
});
|
|
468
471
|
} else {
|
|
469
472
|
throw new Error("Invalid config for platform " + this.source);
|
|
@@ -481,7 +484,7 @@ var googleAnalytics4 = {
|
|
|
481
484
|
* @param data Data in publisher-friendly format to be published
|
|
482
485
|
* @param event Event for which the function is triggered
|
|
483
486
|
*/
|
|
484
|
-
async publish(
|
|
487
|
+
async publish(log2, config, data, event) {
|
|
485
488
|
if (config.trackingId) {
|
|
486
489
|
const ga4Data = removeUndefined(data);
|
|
487
490
|
ga4Data.v = 2;
|
|
@@ -512,7 +515,7 @@ var googleAnalytics4 = {
|
|
|
512
515
|
query,
|
|
513
516
|
requestOptions,
|
|
514
517
|
event,
|
|
515
|
-
logger:
|
|
518
|
+
logger: log2
|
|
516
519
|
});
|
|
517
520
|
} else {
|
|
518
521
|
throw new Error("Invalid config for platform " + this.source);
|
|
@@ -530,7 +533,7 @@ var piano = {
|
|
|
530
533
|
* @param data Data in publisher-friendly format to be published
|
|
531
534
|
* @param event Event for which the function is triggered
|
|
532
535
|
*/
|
|
533
|
-
async publish(
|
|
536
|
+
async publish(log2, config, data, event) {
|
|
534
537
|
if (typeof config.siteId === "string" && typeof config.collectionDomain === "string") {
|
|
535
538
|
const pianoData = removeUndefined(data);
|
|
536
539
|
let query = "";
|
|
@@ -557,7 +560,7 @@ var piano = {
|
|
|
557
560
|
query,
|
|
558
561
|
requestOptions,
|
|
559
562
|
event,
|
|
560
|
-
logger:
|
|
563
|
+
logger: log2
|
|
561
564
|
});
|
|
562
565
|
} else {
|
|
563
566
|
throw new Error("Invalid config for platform " + this.source);
|
|
@@ -575,7 +578,7 @@ var universalAnalytics = {
|
|
|
575
578
|
* @param data Data in publisher-friendly format to be published
|
|
576
579
|
* @param event Event for which the function is triggered
|
|
577
580
|
*/
|
|
578
|
-
async publish(
|
|
581
|
+
async publish(log2, config, data, event) {
|
|
579
582
|
if (config.trackingId) {
|
|
580
583
|
const uaData = removeUndefined(data);
|
|
581
584
|
uaData.v = 1;
|
|
@@ -609,7 +612,7 @@ var universalAnalytics = {
|
|
|
609
612
|
query,
|
|
610
613
|
requestOptions,
|
|
611
614
|
event,
|
|
612
|
-
logger:
|
|
615
|
+
logger: log2
|
|
613
616
|
});
|
|
614
617
|
} else {
|
|
615
618
|
throw new Error("Invalid config for platform " + this.source);
|
|
@@ -623,7 +626,7 @@ __export(testUtils_exports, {
|
|
|
623
626
|
context: () => context
|
|
624
627
|
});
|
|
625
628
|
var context = {};
|
|
626
|
-
context.log = function
|
|
629
|
+
context.log = function log(str) {
|
|
627
630
|
console.log(str);
|
|
628
631
|
};
|
|
629
632
|
context.log.warn = function warn(str) {
|
package/package.json
CHANGED
package/src/defaultPublisher.ts
CHANGED
|
@@ -29,7 +29,6 @@ export async function defaultPublisher(
|
|
|
29
29
|
serviceBusMessage,
|
|
30
30
|
azureFunctionContext.log,
|
|
31
31
|
platformPublisher,
|
|
32
|
-
source,
|
|
33
32
|
trigger,
|
|
34
33
|
),
|
|
35
34
|
);
|
|
@@ -39,7 +38,7 @@ export async function defaultPublisher(
|
|
|
39
38
|
if (result.status === 'rejected') {
|
|
40
39
|
if (result.reason instanceof Error) {
|
|
41
40
|
const errorMessage = utils.parseErrorMessage(result.reason);
|
|
42
|
-
|
|
41
|
+
utils.logException(azureFunctionContext.log, new Error(errorMessage));
|
|
43
42
|
throw new Error(errorMessage);
|
|
44
43
|
} else {
|
|
45
44
|
const errorMessage = utils.parseErrorMessage(
|
|
@@ -47,7 +46,7 @@ export async function defaultPublisher(
|
|
|
47
46
|
? JSON.stringify(result.reason)
|
|
48
47
|
: (result.reason as Error['message']),
|
|
49
48
|
);
|
|
50
|
-
|
|
49
|
+
utils.logException(azureFunctionContext.log, new Error(errorMessage));
|
|
51
50
|
throw new Error(errorMessage);
|
|
52
51
|
}
|
|
53
52
|
}
|
|
@@ -67,7 +66,6 @@ async function processMessage(
|
|
|
67
66
|
message: ServiceBusMessage,
|
|
68
67
|
log: Logger,
|
|
69
68
|
platformPublisher: PlatformPublisher,
|
|
70
|
-
source: string,
|
|
71
69
|
trigger: (a: object, log: Logger) => EventPublisher[],
|
|
72
70
|
) {
|
|
73
71
|
// TODO Je potreba otestovat, ze se to nerozbije, kdyz jsme prestali prepisovat enqueuedAt na Date.now()
|
|
@@ -78,6 +76,7 @@ async function processMessage(
|
|
|
78
76
|
const publishers = trigger(message, log);
|
|
79
77
|
if (!publishers.length) {
|
|
80
78
|
utils.logMessage(
|
|
79
|
+
log,
|
|
81
80
|
1,
|
|
82
81
|
'Message excluded by filter (no publishers determined)',
|
|
83
82
|
logProperties,
|
package/src/publishers/cj.ts
CHANGED
|
@@ -21,7 +21,11 @@ export const cj: PlatformPublisher = {
|
|
|
21
21
|
*/
|
|
22
22
|
async publish(log, config, data, event) {
|
|
23
23
|
if (!(data as CjData).cjevent) {
|
|
24
|
-
utils.
|
|
24
|
+
utils.logMessage(
|
|
25
|
+
log,
|
|
26
|
+
1,
|
|
27
|
+
`CJ - ${event.event} - skipped because CJEVENT is missing`,
|
|
28
|
+
);
|
|
25
29
|
// ? Tady se returnoval false, ale nemyslim, ze to neco pouzivalo
|
|
26
30
|
} else {
|
|
27
31
|
if (typeof config.cid === 'string' && typeof config.type === 'string') {
|
|
@@ -51,6 +55,8 @@ export const cj: PlatformPublisher = {
|
|
|
51
55
|
method: 'GET',
|
|
52
56
|
};
|
|
53
57
|
|
|
58
|
+
utils.logException(log, new Error('BOGER'));
|
|
59
|
+
|
|
54
60
|
await utils.handlePlatformRequest({
|
|
55
61
|
source: this.source,
|
|
56
62
|
baseUrl,
|
package/src/utils/utils.ts
CHANGED
|
@@ -60,15 +60,12 @@ export class EventPublisherBase implements EventPublisherBaseClass {
|
|
|
60
60
|
* Logs message to Azure Function context and to Application Insights (if configured)
|
|
61
61
|
*/
|
|
62
62
|
export function logMessage(
|
|
63
|
+
log: Logger,
|
|
63
64
|
level: SeverityLevel,
|
|
64
65
|
message: string,
|
|
65
66
|
properties?: Telemetry['properties'],
|
|
66
67
|
): void {
|
|
67
|
-
|
|
68
|
-
message,
|
|
69
|
-
severity: level,
|
|
70
|
-
properties,
|
|
71
|
-
});
|
|
68
|
+
log.warn(message, properties);
|
|
72
69
|
}
|
|
73
70
|
|
|
74
71
|
export function logEvent(
|
|
@@ -81,14 +78,18 @@ export function logEvent(
|
|
|
81
78
|
event: event,
|
|
82
79
|
region: region,
|
|
83
80
|
};
|
|
84
|
-
|
|
81
|
+
aiClient?.trackTrace({
|
|
82
|
+
message: 'Event dispatched to platform',
|
|
83
|
+
severity: 1,
|
|
84
|
+
properties,
|
|
85
|
+
});
|
|
85
86
|
}
|
|
86
87
|
|
|
87
88
|
/**
|
|
88
89
|
* Logs exception to Azure Function context and to Application Insights (if configured)
|
|
89
90
|
*/
|
|
90
91
|
export function logException(log: Logger, exception: Error) {
|
|
91
|
-
log.warn(exception);
|
|
92
|
+
log.warn(exception.message);
|
|
92
93
|
}
|
|
93
94
|
|
|
94
95
|
/**
|