@adtrackify/at-service-common 3.0.35 → 3.0.36

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.
Files changed (43) hide show
  1. package/dist/cjs/__tests__/s3-client/compress-decompress.spec.d.ts +1 -0
  2. package/dist/cjs/__tests__/s3-client/compress-decompress.spec.js +17 -0
  3. package/dist/cjs/__tests__/s3-client/compress-decompress.spec.js.map +1 -0
  4. package/dist/cjs/libs/compression.d.ts +2 -0
  5. package/dist/cjs/libs/compression.js +34 -0
  6. package/dist/cjs/libs/compression.js.map +1 -0
  7. package/dist/cjs/libs/index.d.ts +1 -0
  8. package/dist/cjs/libs/index.js +1 -0
  9. package/dist/cjs/libs/index.js.map +1 -1
  10. package/dist/cjs/services/db/index.d.ts +1 -1
  11. package/dist/cjs/services/db/index.js +1 -1
  12. package/dist/cjs/services/db/index.js.map +1 -1
  13. package/dist/cjs/services/db/log-events-db-service.d.ts +10 -0
  14. package/dist/cjs/services/db/log-events-db-service.js +139 -0
  15. package/dist/cjs/services/db/log-events-db-service.js.map +1 -0
  16. package/dist/cjs/services/db/tracking-events-db-service.d.ts +2 -1
  17. package/dist/cjs/services/db/tracking-events-db-service.js +39 -17
  18. package/dist/cjs/services/db/tracking-events-db-service.js.map +1 -1
  19. package/dist/esm/__tests__/s3-client/compress-decompress.spec.d.ts +1 -0
  20. package/dist/esm/__tests__/s3-client/compress-decompress.spec.js +15 -0
  21. package/dist/esm/__tests__/s3-client/compress-decompress.spec.js.map +1 -0
  22. package/dist/esm/libs/compression.d.ts +2 -0
  23. package/dist/esm/libs/compression.js +26 -0
  24. package/dist/esm/libs/compression.js.map +1 -0
  25. package/dist/esm/libs/index.d.ts +1 -0
  26. package/dist/esm/libs/index.js +1 -0
  27. package/dist/esm/libs/index.js.map +1 -1
  28. package/dist/esm/services/db/index.d.ts +1 -1
  29. package/dist/esm/services/db/index.js +1 -1
  30. package/dist/esm/services/db/index.js.map +1 -1
  31. package/dist/esm/services/db/log-events-db-service.d.ts +10 -0
  32. package/dist/esm/services/db/log-events-db-service.js +135 -0
  33. package/dist/esm/services/db/log-events-db-service.js.map +1 -0
  34. package/dist/esm/services/db/tracking-events-db-service.d.ts +2 -1
  35. package/dist/esm/services/db/tracking-events-db-service.js +39 -17
  36. package/dist/esm/services/db/tracking-events-db-service.js.map +1 -1
  37. package/package.json +7 -5
  38. package/dist/cjs/services/db/log-events-data-service.d.ts +0 -6
  39. package/dist/cjs/services/db/log-events-data-service.js +0 -32
  40. package/dist/cjs/services/db/log-events-data-service.js.map +0 -1
  41. package/dist/esm/services/db/log-events-data-service.d.ts +0 -6
  42. package/dist/esm/services/db/log-events-data-service.js +0 -28
  43. package/dist/esm/services/db/log-events-data-service.js.map +0 -1
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const compression_1 = require("../../libs/compression");
4
+ describe('compression, decompression unit tests', () => {
5
+ afterEach(() => {
6
+ jest.resetModules();
7
+ });
8
+ it('should compress json to string', () => {
9
+ const compressed = (0, compression_1.compressJSON)({ key1: 'value1', key2: 'value2' });
10
+ expect(compressed).toBe('eNqrVspOrTRUslIqS8wpTTVU0gHxjWB8I6VaAK3KCjs=');
11
+ });
12
+ it('should decompress string to json', () => {
13
+ const decompressed = (0, compression_1.decompressJSON)('eNqrVspOrTRUslIqS8wpTTVU0gHxjWB8I6VaAK3KCjs=');
14
+ expect(decompressed).toStrictEqual({ key1: 'value1', key2: 'value2' });
15
+ });
16
+ });
17
+ //# sourceMappingURL=compress-decompress.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compress-decompress.spec.js","sourceRoot":"","sources":["../../../../src/__tests__/s3-client/compress-decompress.spec.ts"],"names":[],"mappings":";;AAKA,wDAAsE;AAGtE,QAAQ,CAAC,uCAAuC,EAAE,GAAG,EAAE;IACrD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,UAAU,GAAG,IAAA,0BAAY,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpE,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAE1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,YAAY,GAAG,IAAA,4BAAc,EAAC,8CAA8C,CAAC,CAAC;QACpF,MAAM,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const compressJSON: (jsonObject: any) => string | null;
2
+ export declare const decompressJSON: (compressedJSONString: string) => any | null;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.decompressJSON = exports.compressJSON = void 0;
7
+ const pako_1 = __importDefault(require("pako"));
8
+ const helpers_1 = require("../helpers");
9
+ const compressJSON = (jsonObject) => {
10
+ try {
11
+ const jsonString = JSON.stringify(jsonObject, null, '');
12
+ const deflatedData = pako_1.default.deflate(jsonString, { level: 9 });
13
+ const compressedJSONString = btoa(String.fromCharCode(...deflatedData));
14
+ return compressedJSONString;
15
+ }
16
+ catch (error) {
17
+ helpers_1.Logger.error('Failed to compress json', { error, jsonObject });
18
+ return null;
19
+ }
20
+ };
21
+ exports.compressJSON = compressJSON;
22
+ const decompressJSON = (compressedJSONString) => {
23
+ try {
24
+ const decodedData = Uint8Array.from(atob(compressedJSONString), c => c.charCodeAt(0));
25
+ const decompressedJSON = pako_1.default.inflate(decodedData, { to: 'string' });
26
+ return JSON.parse(decompressedJSON);
27
+ }
28
+ catch (error) {
29
+ helpers_1.Logger.error('Failed to decompress json', { error, compressedJSONString });
30
+ return null;
31
+ }
32
+ };
33
+ exports.decompressJSON = decompressJSON;
34
+ //# sourceMappingURL=compression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compression.js","sourceRoot":"","sources":["../../../src/libs/compression.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,wCAAoC;AAE7B,MAAM,YAAY,GAAG,CAAC,UAAe,EAAiB,EAAE;IAC7D,IAAI;QACF,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,cAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5D,MAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;QACxE,OAAO,oBAAoB,CAAC;KAC7B;IACD,OAAO,KAAK,EAAE;QACZ,gBAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC;KACb;AACH,CAAC,CAAA;AAXY,QAAA,YAAY,gBAWxB;AAEM,MAAM,cAAc,GAAG,CAAC,oBAA4B,EAAc,EAAE;IACzE,IAAI;QACF,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,MAAM,gBAAgB,GAAG,cAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;KACrC;IACD,OAAO,KAAK,EAAE;QACZ,gBAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC;KACb;AACH,CAAC,CAAA;AAVY,QAAA,cAAc,kBAU1B"}
@@ -6,3 +6,4 @@ export * from './http-status-codes.js';
6
6
  export * from './url.js';
7
7
  export * from './referrer-parser/index.js';
8
8
  export * from './clickId-parser.js';
9
+ export * from './compression.js';
@@ -22,4 +22,5 @@ __exportStar(require("./http-status-codes.js"), exports);
22
22
  __exportStar(require("./url.js"), exports);
23
23
  __exportStar(require("./referrer-parser/index.js"), exports);
24
24
  __exportStar(require("./clickId-parser.js"), exports);
25
+ __exportStar(require("./compression.js"), exports);
25
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/libs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C;AAC7C,8CAA4B;AAC5B,6CAA2B;AAC3B,kDAAgC;AAChC,yDAAuC;AACvC,2CAAyB;AACzB,6DAA2C;AAC3C,sDAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/libs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C;AAC7C,8CAA4B;AAC5B,6CAA2B;AAC3B,kDAAgC;AAChC,yDAAuC;AACvC,2CAAyB;AACzB,6DAA2C;AAC3C,sDAAoC;AACpC,mDAAiC"}
@@ -1,4 +1,4 @@
1
1
  export * from './destinations-service.js';
2
- export * from './log-events-data-service.js';
2
+ export * from './log-events-db-service.js';
3
3
  export * from './purchased-contacts-db-service.js';
4
4
  export * from './tracking-events-db-service.js';
@@ -15,7 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./destinations-service.js"), exports);
18
- __exportStar(require("./log-events-data-service.js"), exports);
18
+ __exportStar(require("./log-events-db-service.js"), exports);
19
19
  __exportStar(require("./purchased-contacts-db-service.js"), exports);
20
20
  __exportStar(require("./tracking-events-db-service.js"), exports);
21
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/db/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,+DAA6C;AAC7C,qEAAmD;AACnD,kEAAgD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/db/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,6DAA2C;AAC3C,qEAAmD;AACnD,kEAAgD"}
@@ -0,0 +1,10 @@
1
+ import { LogEvent, LogEventRecord } from '@adtrackify/at-tracking-event-types';
2
+ export declare class LogEventsDbService {
3
+ TABLE_NAME: string;
4
+ constructor(tableName: string);
5
+ private processResult;
6
+ private processResults;
7
+ getLogEventsByDestinationId: (indexName: string, destinationId: string, limit?: number, afterCollectedAt?: string) => Promise<LogEventRecord[]>;
8
+ getEventDebugLogs: (indexName: string, pixelId: string, logLevel: string, destinations?: string[], sources?: string[], eventNames?: string[]) => Promise<LogEventRecord[]>;
9
+ putLogEvent: (logEvent: LogEvent, logGroup: string, ttlInMinutes?: number) => Promise<import("@aws-sdk/lib-dynamodb").PutCommandOutput | null>;
10
+ }
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LogEventsDbService = void 0;
4
+ const clients_1 = require("../../clients");
5
+ const luxon_1 = require("luxon");
6
+ const libs_1 = require("../../libs");
7
+ class LogEventsDbService {
8
+ TABLE_NAME;
9
+ constructor(tableName) {
10
+ this.TABLE_NAME = tableName;
11
+ }
12
+ processResult = (logEventRecord) => {
13
+ if (logEventRecord?.logEventCompressed) {
14
+ const logEventDecompressed = (0, libs_1.decompressJSON)(logEventRecord.logEventCompressed);
15
+ if (logEventDecompressed) {
16
+ logEventRecord.logEvent = logEventDecompressed;
17
+ delete logEventRecord.logEventCompressed;
18
+ }
19
+ }
20
+ return logEventRecord;
21
+ };
22
+ processResults = (logEventRecords) => {
23
+ return logEventRecords.map((logEventRecord) => this.processResult(logEventRecord));
24
+ };
25
+ getLogEventsByDestinationId = async (indexName, destinationId, limit, afterCollectedAt) => {
26
+ const query = {
27
+ TableName: this.TABLE_NAME,
28
+ IndexName: indexName,
29
+ KeyConditionExpression: 'destinationId = :destinationId',
30
+ ExpressionAttributeValues: {
31
+ ':destinationId': destinationId,
32
+ },
33
+ ScanIndexForward: false,
34
+ };
35
+ if (limit) {
36
+ query.Limit = limit;
37
+ }
38
+ if (afterCollectedAt) {
39
+ query.KeyConditionExpression += ' and collectedAt > :collectedAt';
40
+ query.ExpressionAttributeValues[':collectedAt'] = afterCollectedAt;
41
+ }
42
+ const result = await clients_1.DynamoDbClient.query(query);
43
+ const logEventRecords = (result?.Items ?? []);
44
+ return this.processResults(logEventRecords);
45
+ };
46
+ getEventDebugLogs = async (indexName, pixelId, logLevel, destinations, sources, eventNames) => {
47
+ const afterTime = luxon_1.DateTime.utc().minus({ minutes: 30 }).toJSDate().toISOString();
48
+ let searchQuery = '';
49
+ const expressionAttributeValues = {};
50
+ if (destinations) {
51
+ searchQuery += `#logEvent.#data.#destination IN (${destinations.map((destination, index) => (`:destination${index}`)).join(', ')})`;
52
+ destinations.forEach((destination, index) => {
53
+ expressionAttributeValues[`:destination${index}`] = destination;
54
+ });
55
+ }
56
+ if (logLevel) {
57
+ searchQuery += `${searchQuery.length > 0 ? ' and ' : ' '} contains(logLevel, :logLevel) `;
58
+ expressionAttributeValues[':logLevel'] = logLevel;
59
+ }
60
+ if (sources) {
61
+ searchQuery += `${searchQuery.length > 0 ? ' and ' : ' '} #source IN (${sources.map((_, index) => (`:source${index}`)).join(', ')})`;
62
+ sources.forEach((source, index) => {
63
+ expressionAttributeValues[`:source${index}`] = source;
64
+ });
65
+ }
66
+ if (eventNames) {
67
+ searchQuery += `${searchQuery.length > 0 ? ' and ' : ' '} #logEvent.#data.#eventName IN (${eventNames.map((_, index) => (`:eventName${index}`)).join(', ')})`;
68
+ eventNames.forEach((eventName, index) => {
69
+ expressionAttributeValues[`:eventName${index}`] = eventName;
70
+ });
71
+ }
72
+ const params = {
73
+ TableName: this.TABLE_NAME,
74
+ IndexName: indexName,
75
+ KeyConditionExpression: 'pixelId_logLevel = :pixelId_logLevel and collectedAt > :collectedAt ',
76
+ FilterExpression: searchQuery,
77
+ ExpressionAttributeValues: {
78
+ ':pixelId_logLevel': `${pixelId}_${logLevel}`,
79
+ ':collectedAt': afterTime,
80
+ ...expressionAttributeValues,
81
+ },
82
+ ScanIndexForward: false,
83
+ Limit: 500,
84
+ };
85
+ if (expressionAttributeValues[':destination0']) {
86
+ params['ExpressionAttributeNames'] = {
87
+ '#logEvent': 'logEvent',
88
+ '#data': 'data',
89
+ '#destination': 'destination',
90
+ };
91
+ }
92
+ if (expressionAttributeValues[':source0']) {
93
+ params['ExpressionAttributeNames'] = {
94
+ ...params['ExpressionAttributeNames'],
95
+ '#source': 'source'
96
+ };
97
+ }
98
+ if (expressionAttributeValues[':eventName0']) {
99
+ params['ExpressionAttributeNames'] = {
100
+ ...params['ExpressionAttributeNames'],
101
+ '#logEvent': 'logEvent',
102
+ '#data': 'data',
103
+ '#eventName': 'eventName'
104
+ };
105
+ }
106
+ const result = await clients_1.DynamoDbClient.query(params);
107
+ const logEventRecords = (result?.Items ?? []);
108
+ return this.processResults(logEventRecords);
109
+ };
110
+ putLogEvent = async (logEvent, logGroup, ttlInMinutes) => {
111
+ const logEventCopy = JSON.parse(JSON.stringify(logEvent));
112
+ delete logEventCopy?.data?.logStorage;
113
+ const expiredAt = luxon_1.DateTime.now().plus({ minutes: ttlInMinutes ?? 15 }).toSeconds();
114
+ const logEventRecord = {
115
+ eventId: logEventCopy.id,
116
+ pixelId_logLevel: `${logEventCopy.pixelId}_${logEventCopy.data.logLevel}`,
117
+ eventName: logEventCopy.name,
118
+ pixelId: logEventCopy.pixelId,
119
+ destinationId: logEventCopy.data?.destinationId,
120
+ source: logEventCopy.data?.source || '',
121
+ service: logEventCopy.data?.service || '',
122
+ logLevel: logEventCopy.data.logLevel,
123
+ logMessage: logEventCopy.data.logMessage,
124
+ logGroup,
125
+ collectedAt: logEventCopy?.collectedAt,
126
+ expiredAt,
127
+ };
128
+ const logEventCompressed = (0, libs_1.compressJSON)(logEventCopy);
129
+ if (logEventCompressed) {
130
+ logEventRecord.logEventCompressed = logEventCompressed;
131
+ }
132
+ else {
133
+ logEventRecord.logEvent = logEventCopy;
134
+ }
135
+ return await clients_1.DynamoDbClient.safePut(this.TABLE_NAME, logEventRecord);
136
+ };
137
+ }
138
+ exports.LogEventsDbService = LogEventsDbService;
139
+ //# sourceMappingURL=log-events-db-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-events-db-service.js","sourceRoot":"","sources":["../../../../src/services/db/log-events-db-service.ts"],"names":[],"mappings":"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"}
@@ -9,11 +9,12 @@ export declare class TrackingEventsDbService {
9
9
  TABLE_NAME: string;
10
10
  KEY_NAME: string;
11
11
  constructor(tableName: string);
12
+ private processResult;
13
+ private processResults;
12
14
  getLatestSessionByIpAddressUserAgent: (indexName: string, ipAddressUserAgent: string, hostname?: string) => Promise<LatestSessionResponseData>;
13
15
  getTrackingEventsByPixelIdEventName: (indexName: string, pixelId: string, eventName: string, limit?: number, afterCollectedAt?: string) => Promise<TrackingEventRecord[]>;
14
16
  getTrackingEventCountByPixelId: (indexName: string, pixelId: string, offsetInMinutes?: number) => Promise<number>;
15
17
  getTrackingEvent: (eventId: string) => Promise<TrackingEventRecord | null>;
16
18
  buildTrackingEventRecord: (trackingEvent: TrackingEvent, ttlInDays?: number) => TrackingEventRecord;
17
19
  putTrackingEvent: (trackingEvent: TrackingEvent, ttlInDays?: number) => Promise<import("@aws-sdk/lib-dynamodb").PutCommandOutput | null | undefined>;
18
- putBatchTrackingEvents: (items: TrackingEventRecord[]) => Promise<void>;
19
20
  }
@@ -4,12 +4,26 @@ exports.TrackingEventsDbService = void 0;
4
4
  const clients_1 = require("../../clients");
5
5
  const helpers_1 = require("../../helpers");
6
6
  const luxon_1 = require("luxon");
7
+ const libs_1 = require("../../libs");
7
8
  class TrackingEventsDbService {
8
9
  TABLE_NAME;
9
10
  KEY_NAME = 'eventId';
10
11
  constructor(tableName) {
11
12
  this.TABLE_NAME = tableName;
12
13
  }
14
+ processResult = (trackingEventRecord) => {
15
+ if (trackingEventRecord?.trackingEventCompressed) {
16
+ const trackingEventDecompressed = (0, libs_1.decompressJSON)(trackingEventRecord.trackingEventCompressed);
17
+ if (trackingEventDecompressed) {
18
+ trackingEventRecord.trackingEvent = trackingEventDecompressed;
19
+ delete trackingEventRecord?.trackingEventCompressed;
20
+ }
21
+ }
22
+ return trackingEventRecord;
23
+ };
24
+ processResults = (trackingEventRecords) => {
25
+ return trackingEventRecords.map((trackingEventRecord) => this.processResult(trackingEventRecord));
26
+ };
13
27
  getLatestSessionByIpAddressUserAgent = async (indexName, ipAddressUserAgent, hostname) => {
14
28
  try {
15
29
  const params = {
@@ -39,6 +53,7 @@ class TrackingEventsDbService {
39
53
  });
40
54
  }
41
55
  if (trackingEventRecord) {
56
+ trackingEventRecord = this.processResult(trackingEventRecord);
42
57
  const trackingEvent = trackingEventRecord.trackingEvent;
43
58
  return {
44
59
  pixelId: trackingEvent?.pixelId,
@@ -73,8 +88,9 @@ class TrackingEventsDbService {
73
88
  query.KeyConditionExpression += ' and collectedAt > :collectedAt';
74
89
  query.ExpressionAttributeValues[':collectedAt'] = afterCollectedAt;
75
90
  }
76
- const trackingEventsResponse = await clients_1.DynamoDbClient.query(query);
77
- return trackingEventsResponse?.Items ?? [];
91
+ const result = await clients_1.DynamoDbClient.query(query);
92
+ const trackingEventRecords = (result?.Items ?? []);
93
+ return this.processResults(trackingEventRecords);
78
94
  };
79
95
  getTrackingEventCountByPixelId = async (indexName, pixelId, offsetInMinutes = 30) => {
80
96
  try {
@@ -98,8 +114,9 @@ class TrackingEventsDbService {
98
114
  };
99
115
  getTrackingEvent = async (eventId) => {
100
116
  try {
101
- const eventRecord = await clients_1.DynamoDbClient.safeGet(this.TABLE_NAME, this.KEY_NAME, eventId);
102
- return eventRecord;
117
+ let trackingEventRecord = await clients_1.DynamoDbClient.safeGet(this.TABLE_NAME, this.KEY_NAME, eventId);
118
+ trackingEventRecord = this.processResult(trackingEventRecord);
119
+ return trackingEventRecord;
103
120
  }
104
121
  catch (e) {
105
122
  helpers_1.Logger.error('Failed to getTrackingEvent', { e });
@@ -107,24 +124,32 @@ class TrackingEventsDbService {
107
124
  }
108
125
  };
109
126
  buildTrackingEventRecord = (trackingEvent, ttlInDays) => {
110
- const pageURL = trackingEvent?.context?.properties?.page?.url;
127
+ const trackingEventCopy = JSON.parse(JSON.stringify(trackingEvent));
128
+ delete trackingEventCopy?.context?.properties?.enrichment?.ipLookupResponse;
129
+ const pageURL = trackingEventCopy?.context?.properties?.page?.url;
111
130
  const parsedPageURL = new URL(pageURL);
112
131
  const hostname = parsedPageURL?.hostname;
113
132
  const trackingEventsTableTTLDays = ttlInDays || 15;
114
133
  const expiredAt = luxon_1.DateTime.now().plus({ days: trackingEventsTableTTLDays }).toSeconds();
115
134
  const trackingEventRecord = {
116
- eventId: trackingEvent.id,
117
- eventName: trackingEvent.name,
118
- trackingEvent,
119
- pixelId: trackingEvent?.pixelId,
120
- pixelIdEventName: `${trackingEvent.pixelId}_${trackingEvent.name}`,
121
- ipAddressUserAgent: `${trackingEvent.context?.properties?.ipAddress}_${trackingEvent.context?.properties?.userAgent}`,
135
+ eventId: trackingEventCopy.id,
136
+ eventName: trackingEventCopy.name,
137
+ pixelId: trackingEventCopy?.pixelId,
138
+ pixelIdEventName: `${trackingEventCopy.pixelId}_${trackingEventCopy.name}`,
139
+ ipAddressUserAgent: `${trackingEventCopy.context?.properties?.ipAddress}_${trackingEventCopy.context?.properties?.userAgent}`,
122
140
  hostname,
123
- identityId: trackingEvent?.context?.identity?.identityId,
124
- sessionId: trackingEvent?.context?.properties?.sessionId,
125
- collectedAt: trackingEvent.collectedAt,
141
+ identityId: trackingEventCopy?.context?.identity?.identityId,
142
+ sessionId: trackingEventCopy?.context?.properties?.sessionId,
143
+ collectedAt: trackingEventCopy.collectedAt,
126
144
  expiredAt,
127
145
  };
146
+ const trackingEventCompressed = (0, libs_1.compressJSON)(trackingEventCopy);
147
+ if (trackingEventCompressed) {
148
+ trackingEventRecord.trackingEventCompressed = trackingEventCompressed;
149
+ }
150
+ else {
151
+ trackingEventRecord.trackingEvent = trackingEventCopy;
152
+ }
128
153
  return trackingEventRecord;
129
154
  };
130
155
  putTrackingEvent = async (trackingEvent, ttlInDays) => {
@@ -133,9 +158,6 @@ class TrackingEventsDbService {
133
158
  const trackingEventRecord = this.buildTrackingEventRecord(trackingEvent, ttlInDays);
134
159
  return await clients_1.DynamoDbClient.safePut(this.TABLE_NAME, trackingEventRecord);
135
160
  };
136
- putBatchTrackingEvents = async (items) => {
137
- await clients_1.DynamoDbClient.safeBatchPut(this.TABLE_NAME, items);
138
- };
139
161
  }
140
162
  exports.TrackingEventsDbService = TrackingEventsDbService;
141
163
  //# sourceMappingURL=tracking-events-db-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tracking-events-db-service.js","sourceRoot":"","sources":["../../../../src/services/db/tracking-events-db-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracking-events-db-service.js","sourceRoot":"","sources":["../../../../src/services/db/tracking-events-db-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { compressJSON, decompressJSON } from '../../libs/compression';
2
+ describe('compression, decompression unit tests', () => {
3
+ afterEach(() => {
4
+ jest.resetModules();
5
+ });
6
+ it('should compress json to string', () => {
7
+ const compressed = compressJSON({ key1: 'value1', key2: 'value2' });
8
+ expect(compressed).toBe('eNqrVspOrTRUslIqS8wpTTVU0gHxjWB8I6VaAK3KCjs=');
9
+ });
10
+ it('should decompress string to json', () => {
11
+ const decompressed = decompressJSON('eNqrVspOrTRUslIqS8wpTTVU0gHxjWB8I6VaAK3KCjs=');
12
+ expect(decompressed).toStrictEqual({ key1: 'value1', key2: 'value2' });
13
+ });
14
+ });
15
+ //# sourceMappingURL=compress-decompress.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compress-decompress.spec.js","sourceRoot":"","sources":["../../../../src/__tests__/s3-client/compress-decompress.spec.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGtE,QAAQ,CAAC,uCAAuC,EAAE,GAAG,EAAE;IACrD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,UAAU,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpE,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAE1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,YAAY,GAAG,cAAc,CAAC,8CAA8C,CAAC,CAAC;QACpF,MAAM,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const compressJSON: (jsonObject: any) => string | null;
2
+ export declare const decompressJSON: (compressedJSONString: string) => any | null;
@@ -0,0 +1,26 @@
1
+ import Pako from 'pako';
2
+ import { Logger } from '../helpers';
3
+ export const compressJSON = (jsonObject) => {
4
+ try {
5
+ const jsonString = JSON.stringify(jsonObject, null, '');
6
+ const deflatedData = Pako.deflate(jsonString, { level: 9 });
7
+ const compressedJSONString = btoa(String.fromCharCode(...deflatedData));
8
+ return compressedJSONString;
9
+ }
10
+ catch (error) {
11
+ Logger.error('Failed to compress json', { error, jsonObject });
12
+ return null;
13
+ }
14
+ };
15
+ export const decompressJSON = (compressedJSONString) => {
16
+ try {
17
+ const decodedData = Uint8Array.from(atob(compressedJSONString), c => c.charCodeAt(0));
18
+ const decompressedJSON = Pako.inflate(decodedData, { to: 'string' });
19
+ return JSON.parse(decompressedJSON);
20
+ }
21
+ catch (error) {
22
+ Logger.error('Failed to decompress json', { error, compressedJSONString });
23
+ return null;
24
+ }
25
+ };
26
+ //# sourceMappingURL=compression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compression.js","sourceRoot":"","sources":["../../../src/libs/compression.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,UAAe,EAAiB,EAAE;IAC7D,IAAI;QACF,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5D,MAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;QACxE,OAAO,oBAAoB,CAAC;KAC7B;IACD,OAAO,KAAK,EAAE;QACZ,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC;KACb;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,oBAA4B,EAAc,EAAE;IACzE,IAAI;QACF,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;KACrC;IACD,OAAO,KAAK,EAAE;QACZ,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC;KACb;AACH,CAAC,CAAA"}
@@ -6,3 +6,4 @@ export * from './http-status-codes.js';
6
6
  export * from './url.js';
7
7
  export * from './referrer-parser/index.js';
8
8
  export * from './clickId-parser.js';
9
+ export * from './compression.js';
@@ -6,4 +6,5 @@ export * from './http-status-codes.js';
6
6
  export * from './url.js';
7
7
  export * from './referrer-parser/index.js';
8
8
  export * from './clickId-parser.js';
9
+ export * from './compression.js';
9
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/libs/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/libs/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export * from './destinations-service.js';
2
- export * from './log-events-data-service.js';
2
+ export * from './log-events-db-service.js';
3
3
  export * from './purchased-contacts-db-service.js';
4
4
  export * from './tracking-events-db-service.js';
@@ -1,5 +1,5 @@
1
1
  export * from './destinations-service.js';
2
- export * from './log-events-data-service.js';
2
+ export * from './log-events-db-service.js';
3
3
  export * from './purchased-contacts-db-service.js';
4
4
  export * from './tracking-events-db-service.js';
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/db/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/db/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { LogEvent, LogEventRecord } from '@adtrackify/at-tracking-event-types';
2
+ export declare class LogEventsDbService {
3
+ TABLE_NAME: string;
4
+ constructor(tableName: string);
5
+ private processResult;
6
+ private processResults;
7
+ getLogEventsByDestinationId: (indexName: string, destinationId: string, limit?: number, afterCollectedAt?: string) => Promise<LogEventRecord[]>;
8
+ getEventDebugLogs: (indexName: string, pixelId: string, logLevel: string, destinations?: string[], sources?: string[], eventNames?: string[]) => Promise<LogEventRecord[]>;
9
+ putLogEvent: (logEvent: LogEvent, logGroup: string, ttlInMinutes?: number) => Promise<import("@aws-sdk/lib-dynamodb").PutCommandOutput | null>;
10
+ }
@@ -0,0 +1,135 @@
1
+ import { DynamoDbClient } from '../../clients';
2
+ import { DateTime } from 'luxon';
3
+ import { compressJSON, decompressJSON } from '../../libs';
4
+ export class LogEventsDbService {
5
+ TABLE_NAME;
6
+ constructor(tableName) {
7
+ this.TABLE_NAME = tableName;
8
+ }
9
+ processResult = (logEventRecord) => {
10
+ if (logEventRecord?.logEventCompressed) {
11
+ const logEventDecompressed = decompressJSON(logEventRecord.logEventCompressed);
12
+ if (logEventDecompressed) {
13
+ logEventRecord.logEvent = logEventDecompressed;
14
+ delete logEventRecord.logEventCompressed;
15
+ }
16
+ }
17
+ return logEventRecord;
18
+ };
19
+ processResults = (logEventRecords) => {
20
+ return logEventRecords.map((logEventRecord) => this.processResult(logEventRecord));
21
+ };
22
+ getLogEventsByDestinationId = async (indexName, destinationId, limit, afterCollectedAt) => {
23
+ const query = {
24
+ TableName: this.TABLE_NAME,
25
+ IndexName: indexName,
26
+ KeyConditionExpression: 'destinationId = :destinationId',
27
+ ExpressionAttributeValues: {
28
+ ':destinationId': destinationId,
29
+ },
30
+ ScanIndexForward: false,
31
+ };
32
+ if (limit) {
33
+ query.Limit = limit;
34
+ }
35
+ if (afterCollectedAt) {
36
+ query.KeyConditionExpression += ' and collectedAt > :collectedAt';
37
+ query.ExpressionAttributeValues[':collectedAt'] = afterCollectedAt;
38
+ }
39
+ const result = await DynamoDbClient.query(query);
40
+ const logEventRecords = (result?.Items ?? []);
41
+ return this.processResults(logEventRecords);
42
+ };
43
+ getEventDebugLogs = async (indexName, pixelId, logLevel, destinations, sources, eventNames) => {
44
+ const afterTime = DateTime.utc().minus({ minutes: 30 }).toJSDate().toISOString();
45
+ let searchQuery = '';
46
+ const expressionAttributeValues = {};
47
+ if (destinations) {
48
+ searchQuery += `#logEvent.#data.#destination IN (${destinations.map((destination, index) => (`:destination${index}`)).join(', ')})`;
49
+ destinations.forEach((destination, index) => {
50
+ expressionAttributeValues[`:destination${index}`] = destination;
51
+ });
52
+ }
53
+ if (logLevel) {
54
+ searchQuery += `${searchQuery.length > 0 ? ' and ' : ' '} contains(logLevel, :logLevel) `;
55
+ expressionAttributeValues[':logLevel'] = logLevel;
56
+ }
57
+ if (sources) {
58
+ searchQuery += `${searchQuery.length > 0 ? ' and ' : ' '} #source IN (${sources.map((_, index) => (`:source${index}`)).join(', ')})`;
59
+ sources.forEach((source, index) => {
60
+ expressionAttributeValues[`:source${index}`] = source;
61
+ });
62
+ }
63
+ if (eventNames) {
64
+ searchQuery += `${searchQuery.length > 0 ? ' and ' : ' '} #logEvent.#data.#eventName IN (${eventNames.map((_, index) => (`:eventName${index}`)).join(', ')})`;
65
+ eventNames.forEach((eventName, index) => {
66
+ expressionAttributeValues[`:eventName${index}`] = eventName;
67
+ });
68
+ }
69
+ const params = {
70
+ TableName: this.TABLE_NAME,
71
+ IndexName: indexName,
72
+ KeyConditionExpression: 'pixelId_logLevel = :pixelId_logLevel and collectedAt > :collectedAt ',
73
+ FilterExpression: searchQuery,
74
+ ExpressionAttributeValues: {
75
+ ':pixelId_logLevel': `${pixelId}_${logLevel}`,
76
+ ':collectedAt': afterTime,
77
+ ...expressionAttributeValues,
78
+ },
79
+ ScanIndexForward: false,
80
+ Limit: 500,
81
+ };
82
+ if (expressionAttributeValues[':destination0']) {
83
+ params['ExpressionAttributeNames'] = {
84
+ '#logEvent': 'logEvent',
85
+ '#data': 'data',
86
+ '#destination': 'destination',
87
+ };
88
+ }
89
+ if (expressionAttributeValues[':source0']) {
90
+ params['ExpressionAttributeNames'] = {
91
+ ...params['ExpressionAttributeNames'],
92
+ '#source': 'source'
93
+ };
94
+ }
95
+ if (expressionAttributeValues[':eventName0']) {
96
+ params['ExpressionAttributeNames'] = {
97
+ ...params['ExpressionAttributeNames'],
98
+ '#logEvent': 'logEvent',
99
+ '#data': 'data',
100
+ '#eventName': 'eventName'
101
+ };
102
+ }
103
+ const result = await DynamoDbClient.query(params);
104
+ const logEventRecords = (result?.Items ?? []);
105
+ return this.processResults(logEventRecords);
106
+ };
107
+ putLogEvent = async (logEvent, logGroup, ttlInMinutes) => {
108
+ const logEventCopy = JSON.parse(JSON.stringify(logEvent));
109
+ delete logEventCopy?.data?.logStorage;
110
+ const expiredAt = DateTime.now().plus({ minutes: ttlInMinutes ?? 15 }).toSeconds();
111
+ const logEventRecord = {
112
+ eventId: logEventCopy.id,
113
+ pixelId_logLevel: `${logEventCopy.pixelId}_${logEventCopy.data.logLevel}`,
114
+ eventName: logEventCopy.name,
115
+ pixelId: logEventCopy.pixelId,
116
+ destinationId: logEventCopy.data?.destinationId,
117
+ source: logEventCopy.data?.source || '',
118
+ service: logEventCopy.data?.service || '',
119
+ logLevel: logEventCopy.data.logLevel,
120
+ logMessage: logEventCopy.data.logMessage,
121
+ logGroup,
122
+ collectedAt: logEventCopy?.collectedAt,
123
+ expiredAt,
124
+ };
125
+ const logEventCompressed = compressJSON(logEventCopy);
126
+ if (logEventCompressed) {
127
+ logEventRecord.logEventCompressed = logEventCompressed;
128
+ }
129
+ else {
130
+ logEventRecord.logEvent = logEventCopy;
131
+ }
132
+ return await DynamoDbClient.safePut(this.TABLE_NAME, logEventRecord);
133
+ };
134
+ }
135
+ //# sourceMappingURL=log-events-db-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-events-db-service.js","sourceRoot":"","sources":["../../../../src/services/db/log-events-db-service.ts"],"names":[],"mappings":"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"}
@@ -9,11 +9,12 @@ export declare class TrackingEventsDbService {
9
9
  TABLE_NAME: string;
10
10
  KEY_NAME: string;
11
11
  constructor(tableName: string);
12
+ private processResult;
13
+ private processResults;
12
14
  getLatestSessionByIpAddressUserAgent: (indexName: string, ipAddressUserAgent: string, hostname?: string) => Promise<LatestSessionResponseData>;
13
15
  getTrackingEventsByPixelIdEventName: (indexName: string, pixelId: string, eventName: string, limit?: number, afterCollectedAt?: string) => Promise<TrackingEventRecord[]>;
14
16
  getTrackingEventCountByPixelId: (indexName: string, pixelId: string, offsetInMinutes?: number) => Promise<number>;
15
17
  getTrackingEvent: (eventId: string) => Promise<TrackingEventRecord | null>;
16
18
  buildTrackingEventRecord: (trackingEvent: TrackingEvent, ttlInDays?: number) => TrackingEventRecord;
17
19
  putTrackingEvent: (trackingEvent: TrackingEvent, ttlInDays?: number) => Promise<import("@aws-sdk/lib-dynamodb").PutCommandOutput | null | undefined>;
18
- putBatchTrackingEvents: (items: TrackingEventRecord[]) => Promise<void>;
19
20
  }
@@ -1,12 +1,26 @@
1
1
  import { DynamoDbClient } from '../../clients';
2
2
  import { Logger } from '../../helpers';
3
3
  import { DateTime } from 'luxon';
4
+ import { compressJSON, decompressJSON } from '../../libs';
4
5
  export class TrackingEventsDbService {
5
6
  TABLE_NAME;
6
7
  KEY_NAME = 'eventId';
7
8
  constructor(tableName) {
8
9
  this.TABLE_NAME = tableName;
9
10
  }
11
+ processResult = (trackingEventRecord) => {
12
+ if (trackingEventRecord?.trackingEventCompressed) {
13
+ const trackingEventDecompressed = decompressJSON(trackingEventRecord.trackingEventCompressed);
14
+ if (trackingEventDecompressed) {
15
+ trackingEventRecord.trackingEvent = trackingEventDecompressed;
16
+ delete trackingEventRecord?.trackingEventCompressed;
17
+ }
18
+ }
19
+ return trackingEventRecord;
20
+ };
21
+ processResults = (trackingEventRecords) => {
22
+ return trackingEventRecords.map((trackingEventRecord) => this.processResult(trackingEventRecord));
23
+ };
10
24
  getLatestSessionByIpAddressUserAgent = async (indexName, ipAddressUserAgent, hostname) => {
11
25
  try {
12
26
  const params = {
@@ -36,6 +50,7 @@ export class TrackingEventsDbService {
36
50
  });
37
51
  }
38
52
  if (trackingEventRecord) {
53
+ trackingEventRecord = this.processResult(trackingEventRecord);
39
54
  const trackingEvent = trackingEventRecord.trackingEvent;
40
55
  return {
41
56
  pixelId: trackingEvent?.pixelId,
@@ -70,8 +85,9 @@ export class TrackingEventsDbService {
70
85
  query.KeyConditionExpression += ' and collectedAt > :collectedAt';
71
86
  query.ExpressionAttributeValues[':collectedAt'] = afterCollectedAt;
72
87
  }
73
- const trackingEventsResponse = await DynamoDbClient.query(query);
74
- return trackingEventsResponse?.Items ?? [];
88
+ const result = await DynamoDbClient.query(query);
89
+ const trackingEventRecords = (result?.Items ?? []);
90
+ return this.processResults(trackingEventRecords);
75
91
  };
76
92
  getTrackingEventCountByPixelId = async (indexName, pixelId, offsetInMinutes = 30) => {
77
93
  try {
@@ -95,8 +111,9 @@ export class TrackingEventsDbService {
95
111
  };
96
112
  getTrackingEvent = async (eventId) => {
97
113
  try {
98
- const eventRecord = await DynamoDbClient.safeGet(this.TABLE_NAME, this.KEY_NAME, eventId);
99
- return eventRecord;
114
+ let trackingEventRecord = await DynamoDbClient.safeGet(this.TABLE_NAME, this.KEY_NAME, eventId);
115
+ trackingEventRecord = this.processResult(trackingEventRecord);
116
+ return trackingEventRecord;
100
117
  }
101
118
  catch (e) {
102
119
  Logger.error('Failed to getTrackingEvent', { e });
@@ -104,24 +121,32 @@ export class TrackingEventsDbService {
104
121
  }
105
122
  };
106
123
  buildTrackingEventRecord = (trackingEvent, ttlInDays) => {
107
- const pageURL = trackingEvent?.context?.properties?.page?.url;
124
+ const trackingEventCopy = JSON.parse(JSON.stringify(trackingEvent));
125
+ delete trackingEventCopy?.context?.properties?.enrichment?.ipLookupResponse;
126
+ const pageURL = trackingEventCopy?.context?.properties?.page?.url;
108
127
  const parsedPageURL = new URL(pageURL);
109
128
  const hostname = parsedPageURL?.hostname;
110
129
  const trackingEventsTableTTLDays = ttlInDays || 15;
111
130
  const expiredAt = DateTime.now().plus({ days: trackingEventsTableTTLDays }).toSeconds();
112
131
  const trackingEventRecord = {
113
- eventId: trackingEvent.id,
114
- eventName: trackingEvent.name,
115
- trackingEvent,
116
- pixelId: trackingEvent?.pixelId,
117
- pixelIdEventName: `${trackingEvent.pixelId}_${trackingEvent.name}`,
118
- ipAddressUserAgent: `${trackingEvent.context?.properties?.ipAddress}_${trackingEvent.context?.properties?.userAgent}`,
132
+ eventId: trackingEventCopy.id,
133
+ eventName: trackingEventCopy.name,
134
+ pixelId: trackingEventCopy?.pixelId,
135
+ pixelIdEventName: `${trackingEventCopy.pixelId}_${trackingEventCopy.name}`,
136
+ ipAddressUserAgent: `${trackingEventCopy.context?.properties?.ipAddress}_${trackingEventCopy.context?.properties?.userAgent}`,
119
137
  hostname,
120
- identityId: trackingEvent?.context?.identity?.identityId,
121
- sessionId: trackingEvent?.context?.properties?.sessionId,
122
- collectedAt: trackingEvent.collectedAt,
138
+ identityId: trackingEventCopy?.context?.identity?.identityId,
139
+ sessionId: trackingEventCopy?.context?.properties?.sessionId,
140
+ collectedAt: trackingEventCopy.collectedAt,
123
141
  expiredAt,
124
142
  };
143
+ const trackingEventCompressed = compressJSON(trackingEventCopy);
144
+ if (trackingEventCompressed) {
145
+ trackingEventRecord.trackingEventCompressed = trackingEventCompressed;
146
+ }
147
+ else {
148
+ trackingEventRecord.trackingEvent = trackingEventCopy;
149
+ }
125
150
  return trackingEventRecord;
126
151
  };
127
152
  putTrackingEvent = async (trackingEvent, ttlInDays) => {
@@ -130,8 +155,5 @@ export class TrackingEventsDbService {
130
155
  const trackingEventRecord = this.buildTrackingEventRecord(trackingEvent, ttlInDays);
131
156
  return await DynamoDbClient.safePut(this.TABLE_NAME, trackingEventRecord);
132
157
  };
133
- putBatchTrackingEvents = async (items) => {
134
- await DynamoDbClient.safeBatchPut(this.TABLE_NAME, items);
135
- };
136
158
  }
137
159
  //# sourceMappingURL=tracking-events-db-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tracking-events-db-service.js","sourceRoot":"","sources":["../../../../src/services/db/tracking-events-db-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracking-events-db-service.js","sourceRoot":"","sources":["../../../../src/services/db/tracking-events-db-service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adtrackify/at-service-common",
3
- "version": "3.0.35",
3
+ "version": "3.0.36",
4
4
  "description": "",
5
5
  "files": [
6
6
  "dist/*"
@@ -9,8 +9,8 @@
9
9
  "module": "./dist/esm/index.js",
10
10
  "type": "module",
11
11
  "engines": {
12
- "npm": ">=8.0.0 <10.4.0",
13
- "node": ">=16.0.0 <20.11.0"
12
+ "node": "20.x",
13
+ "npm": "10.x"
14
14
  },
15
15
  "scripts": {
16
16
  "clean": "rimraf dist",
@@ -35,7 +35,8 @@
35
35
  "prepublishOnly": "npm run tsc"
36
36
  },
37
37
  "dependencies": {
38
- "@adtrackify/at-shared-utils": "^3.0.24",
38
+ "@adtrackify/at-shared-utils": "^3.0.25",
39
+ "pako": "^2.1.0",
39
40
  "shopify-api-node": "^3.12.7"
40
41
  },
41
42
  "peerDependencies": {
@@ -50,7 +51,7 @@
50
51
  "uuid": "^9.0.0"
51
52
  },
52
53
  "devDependencies": {
53
- "@adtrackify/at-tracking-event-types": "^3.0.69",
54
+ "@adtrackify/at-tracking-event-types": "^3.0.78",
54
55
  "@aws-sdk/client-cognito-identity-provider": "^3.345.0",
55
56
  "@aws-sdk/client-dynamodb": "^3.345.0",
56
57
  "@aws-sdk/client-eventbridge": "^3.345.0",
@@ -65,6 +66,7 @@
65
66
  "@types/lambda-log": "^3.0.0",
66
67
  "@types/luxon": "^3.0.1",
67
68
  "@types/node": "^17.0.8",
69
+ "@types/pako": "^2.0.3",
68
70
  "@types/ua-parser-js": "^0.7.36",
69
71
  "@types/uuid": "^8.3.4",
70
72
  "@typescript-eslint/eslint-plugin": "^5.37.0",
@@ -1,6 +0,0 @@
1
- import { LogEventRecord } from '@adtrackify/at-tracking-event-types';
2
- export declare class LogEventsDataService {
3
- TABLE_NAME: string;
4
- constructor(tableName: string);
5
- getLogEventsByDestinationId: (indexName: string, destinationId: string, limit?: number, afterCollectedAt?: string) => Promise<LogEventRecord[]>;
6
- }
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LogEventsDataService = void 0;
4
- const clients_1 = require("../../clients");
5
- class LogEventsDataService {
6
- TABLE_NAME;
7
- constructor(tableName) {
8
- this.TABLE_NAME = tableName;
9
- }
10
- getLogEventsByDestinationId = async (indexName, destinationId, limit, afterCollectedAt) => {
11
- const query = {
12
- TableName: this.TABLE_NAME,
13
- IndexName: indexName,
14
- KeyConditionExpression: 'destinationId = :destinationId',
15
- ExpressionAttributeValues: {
16
- ':destinationId': destinationId,
17
- },
18
- ScanIndexForward: false,
19
- };
20
- if (limit) {
21
- query.Limit = limit;
22
- }
23
- if (afterCollectedAt) {
24
- query.KeyConditionExpression += ' and collectedAt > :collectedAt';
25
- query.ExpressionAttributeValues[':collectedAt'] = afterCollectedAt;
26
- }
27
- const logEventsResponse = await clients_1.DynamoDbClient.query(query);
28
- return logEventsResponse?.Items ?? [];
29
- };
30
- }
31
- exports.LogEventsDataService = LogEventsDataService;
32
- //# sourceMappingURL=log-events-data-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"log-events-data-service.js","sourceRoot":"","sources":["../../../../src/services/db/log-events-data-service.ts"],"names":[],"mappings":";;;AACA,2CAA+C;AAE/C,MAAa,oBAAoB;IACxB,UAAU,CAAS;IAE1B,YAAY,SAAiB;QAC3B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAEM,2BAA2B,GAAG,KAAK,EAAE,SAAiB,EAAE,aAAqB,EAAE,KAAc,EAAE,gBAAyB,EAA6B,EAAE;QAC5J,MAAM,KAAK,GAAQ;YACjB,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,SAAS,EAAE,SAAS;YACpB,sBAAsB,EAAE,gCAAgC;YACxD,yBAAyB,EAAE;gBACzB,gBAAgB,EAAE,aAAa;aAChC;YACD,gBAAgB,EAAE,KAAK;SACxB,CAAC;QACF,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;SACrB;QACD,IAAI,gBAAgB,EAAE;YACpB,KAAK,CAAC,sBAAsB,IAAI,iCAAiC,CAAC;YAClE,KAAK,CAAC,yBAAyB,CAAC,cAAc,CAAC,GAAG,gBAAgB,CAAC;SACpE;QAED,MAAM,iBAAiB,GAAG,MAAM,wBAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5D,OAAO,iBAAiB,EAAE,KAAyB,IAAI,EAAE,CAAC;IAC5D,CAAC,CAAA;CACF;AA5BD,oDA4BC"}
@@ -1,6 +0,0 @@
1
- import { LogEventRecord } from '@adtrackify/at-tracking-event-types';
2
- export declare class LogEventsDataService {
3
- TABLE_NAME: string;
4
- constructor(tableName: string);
5
- getLogEventsByDestinationId: (indexName: string, destinationId: string, limit?: number, afterCollectedAt?: string) => Promise<LogEventRecord[]>;
6
- }
@@ -1,28 +0,0 @@
1
- import { DynamoDbClient } from '../../clients';
2
- export class LogEventsDataService {
3
- TABLE_NAME;
4
- constructor(tableName) {
5
- this.TABLE_NAME = tableName;
6
- }
7
- getLogEventsByDestinationId = async (indexName, destinationId, limit, afterCollectedAt) => {
8
- const query = {
9
- TableName: this.TABLE_NAME,
10
- IndexName: indexName,
11
- KeyConditionExpression: 'destinationId = :destinationId',
12
- ExpressionAttributeValues: {
13
- ':destinationId': destinationId,
14
- },
15
- ScanIndexForward: false,
16
- };
17
- if (limit) {
18
- query.Limit = limit;
19
- }
20
- if (afterCollectedAt) {
21
- query.KeyConditionExpression += ' and collectedAt > :collectedAt';
22
- query.ExpressionAttributeValues[':collectedAt'] = afterCollectedAt;
23
- }
24
- const logEventsResponse = await DynamoDbClient.query(query);
25
- return logEventsResponse?.Items ?? [];
26
- };
27
- }
28
- //# sourceMappingURL=log-events-data-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"log-events-data-service.js","sourceRoot":"","sources":["../../../../src/services/db/log-events-data-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,OAAO,oBAAoB;IACxB,UAAU,CAAS;IAE1B,YAAY,SAAiB;QAC3B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAEM,2BAA2B,GAAG,KAAK,EAAE,SAAiB,EAAE,aAAqB,EAAE,KAAc,EAAE,gBAAyB,EAA6B,EAAE;QAC5J,MAAM,KAAK,GAAQ;YACjB,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,SAAS,EAAE,SAAS;YACpB,sBAAsB,EAAE,gCAAgC;YACxD,yBAAyB,EAAE;gBACzB,gBAAgB,EAAE,aAAa;aAChC;YACD,gBAAgB,EAAE,KAAK;SACxB,CAAC;QACF,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;SACrB;QACD,IAAI,gBAAgB,EAAE;YACpB,KAAK,CAAC,sBAAsB,IAAI,iCAAiC,CAAC;YAClE,KAAK,CAAC,yBAAyB,CAAC,cAAc,CAAC,GAAG,gBAAgB,CAAC;SACpE;QAED,MAAM,iBAAiB,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5D,OAAO,iBAAiB,EAAE,KAAyB,IAAI,EAAE,CAAC;IAC5D,CAAC,CAAA;CACF"}