@mhubcloud/tms_core 3.1.5 → 3.1.6-beta.1
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 +24 -29
- package/package.json +1 -1
- package/src/defaultPublisher.ts +9 -18
- package/src/types/EventToLog.ts +2 -7
- package/src/utils/utils.ts +17 -21
- package/tests/AffiliatePort.js +7 -11
- package/tests/Facebook.js +7 -18
- package/tests/Piano.js +7 -14
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
|
+
appInsights.setup(
|
|
60
|
+
"InstrumentationKey=92a12588-b5e9-4949-aa42-e1669194e06c;IngestionEndpoint=https://westeurope-5.in.applicationinsights.azure.com/;LiveEndpoint=https://westeurope.livediagnostics.monitor.azure.com/;ApplicationId=36b1a240-a54c-45e2-8f9b-ba9d26e9bce8"
|
|
61
|
+
).setAutoCollectDependencies(false).setAutoCollectConsole(true, true).setSendLiveMetrics(false).setAutoCollectRequests(false).setAutoCollectPerformance(false).setUseDiskRetryCaching(false).start();
|
|
62
|
+
aiClient = appInsights.defaultClient;
|
|
63
63
|
var EventPublisherBase = class {
|
|
64
64
|
config;
|
|
65
65
|
constructor(config) {
|
|
@@ -81,18 +81,22 @@ var EventPublisherBase = class {
|
|
|
81
81
|
);
|
|
82
82
|
}
|
|
83
83
|
};
|
|
84
|
-
function logMessage(
|
|
85
|
-
log3.warn(message);
|
|
86
|
-
}
|
|
87
|
-
function logEvent(message, level, properties) {
|
|
84
|
+
function logMessage(level, message, properties) {
|
|
88
85
|
aiClient?.trackTrace({
|
|
89
86
|
message,
|
|
90
87
|
severity: level,
|
|
91
88
|
properties
|
|
92
89
|
});
|
|
93
90
|
}
|
|
94
|
-
function
|
|
95
|
-
|
|
91
|
+
function logEvent(publisher2, event, region) {
|
|
92
|
+
const properties = {
|
|
93
|
+
publisher: publisher2,
|
|
94
|
+
event,
|
|
95
|
+
region
|
|
96
|
+
};
|
|
97
|
+
logMessage(1, "Event dispatched to platform", properties);
|
|
98
|
+
}
|
|
99
|
+
function logException(exception) {
|
|
96
100
|
aiClient?.trackException({
|
|
97
101
|
exception
|
|
98
102
|
});
|
|
@@ -220,12 +224,12 @@ async function handlePlatformRequest({
|
|
|
220
224
|
if (handlePlatformResponse) {
|
|
221
225
|
const processedPlatformResponse = await handleResponse(
|
|
222
226
|
rawPlatformResponse,
|
|
223
|
-
event.
|
|
227
|
+
event.event
|
|
224
228
|
);
|
|
225
|
-
logEvent(
|
|
229
|
+
logEvent(source, event.event, event.region);
|
|
226
230
|
return processedPlatformResponse;
|
|
227
231
|
} else {
|
|
228
|
-
logEvent(
|
|
232
|
+
logEvent(source, event.event, event.region);
|
|
229
233
|
}
|
|
230
234
|
}
|
|
231
235
|
async function handleTestRequest(params) {
|
|
@@ -279,13 +283,13 @@ async function defaultPublisher(azureFunctionContext, serviceBusMessage, source,
|
|
|
279
283
|
if (result.status === "rejected") {
|
|
280
284
|
if (result.reason instanceof Error) {
|
|
281
285
|
const errorMessage = parseErrorMessage(result.reason);
|
|
282
|
-
logException(
|
|
286
|
+
logException(new Error(errorMessage));
|
|
283
287
|
throw new Error(errorMessage);
|
|
284
288
|
} else {
|
|
285
289
|
const errorMessage = parseErrorMessage(
|
|
286
290
|
typeof result.reason === "object" ? JSON.stringify(result.reason) : result.reason
|
|
287
291
|
);
|
|
288
|
-
logException(
|
|
292
|
+
logException(new Error(errorMessage));
|
|
289
293
|
throw new Error(errorMessage);
|
|
290
294
|
}
|
|
291
295
|
}
|
|
@@ -299,7 +303,6 @@ async function processMessage(message, log3, platformPublisher, source, trigger)
|
|
|
299
303
|
const publishers = trigger(message, log3);
|
|
300
304
|
if (!publishers.length) {
|
|
301
305
|
logMessage(
|
|
302
|
-
log3,
|
|
303
306
|
1,
|
|
304
307
|
"Message excluded by filter (no publishers determined)",
|
|
305
308
|
logProperties
|
|
@@ -307,7 +310,7 @@ async function processMessage(message, log3, platformPublisher, source, trigger)
|
|
|
307
310
|
return false;
|
|
308
311
|
}
|
|
309
312
|
let publishedAny = false;
|
|
310
|
-
|
|
313
|
+
const failedToPublishAll = false;
|
|
311
314
|
for (const eventPublisher of publishers) {
|
|
312
315
|
const mapped = await eventPublisher.map(message, log3);
|
|
313
316
|
const res = await publishMessage(
|
|
@@ -316,30 +319,22 @@ async function processMessage(message, log3, platformPublisher, source, trigger)
|
|
|
316
319
|
eventPublisher.config,
|
|
317
320
|
platformPublisher,
|
|
318
321
|
{
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
properties: {
|
|
322
|
-
publisher: platformPublisher.source ? platformPublisher.source : source,
|
|
323
|
-
event: message.event.code + (message.event.name ? "/" + message.event.name : ""),
|
|
324
|
-
region: message.event.region
|
|
325
|
-
}
|
|
322
|
+
event: message.event.code + (message.event.name ? "/" + message.event.name : ""),
|
|
323
|
+
region: message.event.region
|
|
326
324
|
}
|
|
327
325
|
);
|
|
328
326
|
if (res) {
|
|
329
327
|
publishedAny = true;
|
|
330
328
|
} else {
|
|
331
|
-
(
|
|
332
|
-
log3,
|
|
329
|
+
logException(
|
|
333
330
|
new Error(
|
|
334
331
|
`The message has not been published. Source: ${platformPublisher.source}`
|
|
335
332
|
)
|
|
336
333
|
);
|
|
337
|
-
failedToPublishAll = true;
|
|
338
334
|
}
|
|
339
335
|
}
|
|
340
336
|
if (!publishedAny) {
|
|
341
|
-
(
|
|
342
|
-
log3,
|
|
337
|
+
logException(
|
|
343
338
|
new Error(
|
|
344
339
|
"The message has not been published to any publisher configuration"
|
|
345
340
|
)
|
package/package.json
CHANGED
package/src/defaultPublisher.ts
CHANGED
|
@@ -39,7 +39,7 @@ export async function defaultPublisher(
|
|
|
39
39
|
if (result.status === 'rejected') {
|
|
40
40
|
if (result.reason instanceof Error) {
|
|
41
41
|
const errorMessage = utils.parseErrorMessage(result.reason);
|
|
42
|
-
utils.logException(azureFunctionContext.log, new Error(errorMessage));
|
|
42
|
+
// utils.logException(azureFunctionContext.log, new Error(errorMessage));
|
|
43
43
|
throw new Error(errorMessage);
|
|
44
44
|
} else {
|
|
45
45
|
const errorMessage = utils.parseErrorMessage(
|
|
@@ -47,7 +47,7 @@ export async function defaultPublisher(
|
|
|
47
47
|
? JSON.stringify(result.reason)
|
|
48
48
|
: (result.reason as Error['message']),
|
|
49
49
|
);
|
|
50
|
-
utils.logException(azureFunctionContext.log, new Error(errorMessage));
|
|
50
|
+
// utils.logException(azureFunctionContext.log, new Error(errorMessage));
|
|
51
51
|
throw new Error(errorMessage);
|
|
52
52
|
}
|
|
53
53
|
}
|
|
@@ -78,7 +78,6 @@ async function processMessage(
|
|
|
78
78
|
const publishers = trigger(message, log);
|
|
79
79
|
if (!publishers.length) {
|
|
80
80
|
utils.logMessage(
|
|
81
|
-
log,
|
|
82
81
|
1,
|
|
83
82
|
'Message excluded by filter (no publishers determined)',
|
|
84
83
|
logProperties,
|
|
@@ -86,7 +85,7 @@ async function processMessage(
|
|
|
86
85
|
return false;
|
|
87
86
|
}
|
|
88
87
|
let publishedAny = false;
|
|
89
|
-
|
|
88
|
+
const failedToPublishAll = false;
|
|
90
89
|
for (const eventPublisher of publishers) {
|
|
91
90
|
const mapped = await eventPublisher.map(message, log);
|
|
92
91
|
|
|
@@ -96,33 +95,25 @@ async function processMessage(
|
|
|
96
95
|
eventPublisher.config,
|
|
97
96
|
platformPublisher,
|
|
98
97
|
{
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
? platformPublisher.source
|
|
104
|
-
: source,
|
|
105
|
-
event:
|
|
106
|
-
message.event.code +
|
|
107
|
-
(message.event.name ? '/' + message.event.name : ''),
|
|
108
|
-
region: message.event.region,
|
|
109
|
-
},
|
|
98
|
+
event:
|
|
99
|
+
message.event.code +
|
|
100
|
+
(message.event.name ? '/' + message.event.name : ''),
|
|
101
|
+
region: message.event.region,
|
|
110
102
|
},
|
|
111
103
|
);
|
|
112
104
|
if (res) {
|
|
113
105
|
publishedAny = true;
|
|
114
106
|
} else {
|
|
115
|
-
utils.
|
|
107
|
+
utils.logException(
|
|
116
108
|
log,
|
|
117
109
|
new Error(
|
|
118
110
|
`The message has not been published. Source: ${platformPublisher.source}`,
|
|
119
111
|
),
|
|
120
112
|
);
|
|
121
|
-
failedToPublishAll = true;
|
|
122
113
|
}
|
|
123
114
|
}
|
|
124
115
|
if (!publishedAny) {
|
|
125
|
-
utils.
|
|
116
|
+
utils.logException(
|
|
126
117
|
log,
|
|
127
118
|
new Error(
|
|
128
119
|
'The message has not been published to any publisher configuration',
|
package/src/types/EventToLog.ts
CHANGED
package/src/utils/utils.ts
CHANGED
|
@@ -60,29 +60,28 @@ 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,
|
|
64
63
|
level: SeverityLevel,
|
|
65
64
|
message: string,
|
|
66
65
|
properties?: Telemetry['properties'],
|
|
67
66
|
): void {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
// });
|
|
67
|
+
aiClient?.trackTrace({
|
|
68
|
+
message,
|
|
69
|
+
severity: level,
|
|
70
|
+
properties,
|
|
71
|
+
});
|
|
74
72
|
}
|
|
75
73
|
|
|
76
74
|
export function logEvent(
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
75
|
+
publisher: string,
|
|
76
|
+
event: string,
|
|
77
|
+
region: string,
|
|
80
78
|
): void {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
}
|
|
79
|
+
const properties: Telemetry['properties'] = {
|
|
80
|
+
publisher: publisher,
|
|
81
|
+
event: event,
|
|
82
|
+
region: region,
|
|
83
|
+
};
|
|
84
|
+
logMessage(1, 'Event dispatched to platform', properties);
|
|
86
85
|
}
|
|
87
86
|
|
|
88
87
|
/**
|
|
@@ -90,9 +89,6 @@ export function logEvent(
|
|
|
90
89
|
*/
|
|
91
90
|
export function logException(log: Logger, exception: Error) {
|
|
92
91
|
log.warn(exception);
|
|
93
|
-
aiClient?.trackException({
|
|
94
|
-
exception,
|
|
95
|
-
});
|
|
96
92
|
}
|
|
97
93
|
|
|
98
94
|
/**
|
|
@@ -338,14 +334,14 @@ export async function handlePlatformRequest({
|
|
|
338
334
|
if (handlePlatformResponse) {
|
|
339
335
|
const processedPlatformResponse = await handleResponse(
|
|
340
336
|
rawPlatformResponse,
|
|
341
|
-
event.
|
|
337
|
+
event.event,
|
|
342
338
|
);
|
|
343
339
|
|
|
344
|
-
logEvent(
|
|
340
|
+
logEvent(source, event.event, event.region);
|
|
345
341
|
|
|
346
342
|
return processedPlatformResponse;
|
|
347
343
|
} else {
|
|
348
|
-
logEvent(
|
|
344
|
+
logEvent(source, event.event, event.region);
|
|
349
345
|
}
|
|
350
346
|
}
|
|
351
347
|
|
package/tests/AffiliatePort.js
CHANGED
|
@@ -74,17 +74,13 @@ describe('test AffiliatePort publisher', function () {
|
|
|
74
74
|
* @param [object] object obsahující nastavení testovací parametry
|
|
75
75
|
*/
|
|
76
76
|
async function test(serviceBusMessage) {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
);
|
|
85
|
-
} catch (err) {
|
|
86
|
-
console.log(err);
|
|
87
|
-
}
|
|
77
|
+
await defaultPublisher(
|
|
78
|
+
testUtils.context,
|
|
79
|
+
serviceBusMessage,
|
|
80
|
+
'AffiliatePort',
|
|
81
|
+
publisher,
|
|
82
|
+
trigger,
|
|
83
|
+
);
|
|
88
84
|
}
|
|
89
85
|
|
|
90
86
|
function trigger(data) {
|
package/tests/Facebook.js
CHANGED
|
@@ -53,24 +53,13 @@ describe('test Facebook publisher', function () {
|
|
|
53
53
|
* @param [object] object obsahující nastavení testovací parametry
|
|
54
54
|
*/
|
|
55
55
|
async function test(serviceBusMessage) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
);
|
|
64
|
-
} catch (err) {
|
|
65
|
-
assert.equal(
|
|
66
|
-
err
|
|
67
|
-
.toString()
|
|
68
|
-
.indexOf(
|
|
69
|
-
'Error: HTTP Error code: 400, event: purchase, body: {"error":{"message":"Invalid OAuth access token - Cannot parse access token","type":"OAuthException","code":190',
|
|
70
|
-
),
|
|
71
|
-
0,
|
|
72
|
-
);
|
|
73
|
-
}
|
|
56
|
+
await defaultPublisher(
|
|
57
|
+
testUtils.context,
|
|
58
|
+
serviceBusMessage,
|
|
59
|
+
'Facebook',
|
|
60
|
+
publisher,
|
|
61
|
+
trigger,
|
|
62
|
+
);
|
|
74
63
|
}
|
|
75
64
|
|
|
76
65
|
function trigger(data) {
|
package/tests/Piano.js
CHANGED
|
@@ -53,20 +53,13 @@ describe('test Piano publisher', function () {
|
|
|
53
53
|
* @param [object] object obsahující nastavení testovací parametry
|
|
54
54
|
*/
|
|
55
55
|
async function test(serviceBusMessage) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
);
|
|
64
|
-
} catch (err) {
|
|
65
|
-
assert.equal(
|
|
66
|
-
err.cause.toString(),
|
|
67
|
-
'Error: getaddrinfo ENOTFOUND xxxxx.xiti.com',
|
|
68
|
-
);
|
|
69
|
-
}
|
|
56
|
+
await defaultPublisher(
|
|
57
|
+
testUtils.context,
|
|
58
|
+
serviceBusMessage,
|
|
59
|
+
'Piano',
|
|
60
|
+
publisher,
|
|
61
|
+
trigger,
|
|
62
|
+
);
|
|
70
63
|
}
|
|
71
64
|
|
|
72
65
|
function trigger(data) {
|