@mhubcloud/tms_core 2.0.0-beta.3 → 2.0.0-beta.4

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 CHANGED
@@ -82,11 +82,6 @@ var EventPublisherBase = class {
82
82
  };
83
83
  function log(log3, level, message, properties) {
84
84
  log3.warn(message);
85
- aiClient?.trackTrace({
86
- message,
87
- severity: level,
88
- properties
89
- });
90
85
  }
91
86
  function logException(log3, exception) {
92
87
  log3.warn(exception);
@@ -257,10 +252,14 @@ async function defaultPublisher(azureFunctionContext, eventHubMessages, source,
257
252
  const results = await Promise.allSettled(processMessagePromises);
258
253
  for (const result of results) {
259
254
  if (result.status === "rejected") {
260
- logException(
261
- azureFunctionContext.log,
262
- new Error(result.reason)
263
- );
255
+ if (result.reason instanceof Error) {
256
+ logException(azureFunctionContext.log, result.reason);
257
+ } else {
258
+ logException(
259
+ azureFunctionContext.log,
260
+ new Error(result.reason)
261
+ );
262
+ }
264
263
  }
265
264
  }
266
265
  }
@@ -269,7 +268,7 @@ async function processMessage(message, log3, platfromPublisher, trigger) {
269
268
  source: platfromPublisher.source,
270
269
  data: JSON.stringify(message)
271
270
  };
272
- const publishers = trigger(message);
271
+ const publishers = trigger(message, log3);
273
272
  if (!publishers.length) {
274
273
  log(
275
274
  log3,
@@ -282,7 +281,7 @@ async function processMessage(message, log3, platfromPublisher, trigger) {
282
281
  let publishedAny = false;
283
282
  let failedToPublishAll = false;
284
283
  for (const eventPublisher of publishers) {
285
- const mapped = await eventPublisher.map(message);
284
+ const mapped = await eventPublisher.map(message, log3);
286
285
  const res = await publishMessage(
287
286
  log3,
288
287
  mapped,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mhubcloud/tms_core",
3
- "version": "2.0.0-beta.3",
3
+ "version": "2.0.0-beta.4",
4
4
  "description": "Core function for mHub Cloud TMS publishers",
5
5
  "homepage": "https://mhubcloud.com/",
6
6
  "license": "Apache 2.0",
@@ -37,10 +37,14 @@ export async function defaultPublisher(
37
37
  // ? musi nahoru probublat, ze aspon neco selhalo a to je to, co bude triggerovat nasledujici error. Error pro konkretniho publishera musi byt primo v processMessage v loopu. Hodnotu pro typ publishera vezmeme z platformBublisher.SOURCE
38
38
  for (const result of results) {
39
39
  if (result.status === 'rejected') {
40
- utils.logException(
41
- azureFunctionContext.log,
42
- new Error(result.reason as Error['message']),
43
- );
40
+ if (result.reason instanceof Error) {
41
+ utils.logException(azureFunctionContext.log, result.reason);
42
+ } else {
43
+ utils.logException(
44
+ azureFunctionContext.log,
45
+ new Error(result.reason as Error['message']),
46
+ );
47
+ }
44
48
  }
45
49
  }
46
50
  }
@@ -58,14 +62,14 @@ async function processMessage(
58
62
  message: EventHubMessage,
59
63
  log: Logger,
60
64
  platfromPublisher: PlatformPublisher,
61
- trigger: (a: object) => EventPublisher[],
65
+ trigger: (a: object, log: Logger) => EventPublisher[],
62
66
  ) {
63
67
  // TODO Je potreba otestovat, ze se to nerozbije, kdyz jsme prestali prepisovat enqueuedAt na Date.now()
64
68
  const logProperties: Telemetry['properties'] = {
65
69
  source: platfromPublisher.source,
66
70
  data: JSON.stringify(message),
67
71
  };
68
- const publishers = trigger(message);
72
+ const publishers = trigger(message, log);
69
73
  if (!publishers.length) {
70
74
  utils.log(
71
75
  log,
@@ -78,7 +82,7 @@ async function processMessage(
78
82
  let publishedAny = false;
79
83
  let failedToPublishAll = false;
80
84
  for (const eventPublisher of publishers) {
81
- const mapped = await eventPublisher.map(message);
85
+ const mapped = await eventPublisher.map(message, log);
82
86
 
83
87
  const res = await publishMessage(
84
88
  log,
@@ -1,3 +1,4 @@
1
+ import { Logger } from '@azure/functions';
1
2
  import { EventHubMessage } from './EventHubMessage';
2
3
 
3
4
  export interface EventPublisherBaseClass {
@@ -5,5 +6,5 @@ export interface EventPublisherBaseClass {
5
6
  }
6
7
 
7
8
  export interface EventPublisher extends EventPublisherBaseClass {
8
- map: (data: EventHubMessage) => Promise<Record<string, unknown>>;
9
+ map: (data: EventHubMessage, log: Logger) => Promise<Record<string, unknown>>;
9
10
  }
@@ -3,13 +3,14 @@ import { BodyInit } from 'node-fetch';
3
3
  import { TypeSafeObject } from './UtilTypes';
4
4
 
5
5
  export interface PlatformPublisher {
6
- source: string;
6
+ source: string; // ! ADDED
7
7
  publish: (
8
8
  log: Logger,
9
9
  config: TypeSafeObject,
10
10
  data: TypeSafeObject | unknown[],
11
11
  event: string,
12
12
  ) => Promise<void>;
13
+ // ! REMOVED parse and validate
13
14
  }
14
15
 
15
16
  export interface PlatformRequestOptions {
package/tests/CJ.js CHANGED
@@ -118,12 +118,12 @@ async function test(eventHubMessages) {
118
118
  );
119
119
  }
120
120
 
121
- function trigger(data) {
121
+ function trigger(data, log) {
122
122
  const publishers = [];
123
123
  if (data.event.code === 'purchase') {
124
124
  let publisher = CJPurchasePublisher;
125
125
 
126
- publisher.register(publishers, { cid: 1, type: 1111111 });
126
+ publisher.register(publishers, { cid: '1', type: '1111111' });
127
127
  }
128
128
  return publishers;
129
129
  }
@@ -134,7 +134,7 @@ class CJPurchasePublisher extends utils.EventPublisherBase {
134
134
  * @param {Object} data `purchase` event data
135
135
  * @returns {Object} Data mapped from incomming Event Hub message to platform payload
136
136
  */
137
- map(data) {
137
+ map(data, log) {
138
138
  const ret = {
139
139
  cjevent: utils.extractAdCode(data, 'cjaffiliate', 'cjevent')?.code,
140
140
  cust_status: data.user?.ts?.indexOf('customer') >= 0 ? 'return' : 'new',