@eyevinn/player-analytics-shared 0.9.4 → 0.10.0

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.
@@ -34,6 +34,31 @@ export class BeanstalkdAdapter implements AbstractQueueAdapter {
34
34
  return result;
35
35
  }
36
36
 
37
+ async removeFromQueueBatch(messages: Record<string, any>[]): Promise<Object> {
38
+ const results: { successful: any[]; failed: any[] } = {
39
+ successful: [],
40
+ failed: [],
41
+ };
42
+
43
+ for (const message of messages) {
44
+ try {
45
+ const success = await this.removeFromQueue(message);
46
+ if (success) {
47
+ results.successful.push({ id: message.id });
48
+ } else {
49
+ results.failed.push({ id: message.id, reason: 'delete failed' });
50
+ }
51
+ } catch (err) {
52
+ results.failed.push({
53
+ id: message.id,
54
+ reason: err instanceof Error ? err.message : 'Unknown error',
55
+ });
56
+ }
57
+ }
58
+
59
+ return results;
60
+ }
61
+
37
62
  getEventJSONsFromMessages(body: any[]): Object[] {
38
63
  this.logger.warn("Method not implemented.");
39
64
  return body;
@@ -27,6 +27,31 @@ export class RedisAdapter implements AbstractQueueAdapter {
27
27
  return result === 'completed';
28
28
  }
29
29
 
30
+ async removeFromQueueBatch(messages: Record<string, any>[]): Promise<Object> {
31
+ const results: { successful: any[]; failed: any[] } = {
32
+ successful: [],
33
+ failed: [],
34
+ };
35
+
36
+ for (const message of messages) {
37
+ try {
38
+ const success = await this.removeFromQueue(message);
39
+ if (success) {
40
+ results.successful.push({ id: message.id });
41
+ } else {
42
+ results.failed.push({ id: message.id, reason: 'not completed' });
43
+ }
44
+ } catch (err) {
45
+ results.failed.push({
46
+ id: message.id,
47
+ reason: err instanceof Error ? err.message : 'Unknown error',
48
+ });
49
+ }
50
+ }
51
+
52
+ return results;
53
+ }
54
+
30
55
  getEventJSONsFromMessages(body: any[]): Object[] {
31
56
  this.logger.warn("Method not implemented.");
32
57
  return body;
@@ -5,6 +5,9 @@ import {
5
5
  ReceiveMessageCommandInput,
6
6
  ReceiveMessageCommand,
7
7
  DeleteMessageCommandInput,
8
+ DeleteMessageBatchCommand,
9
+ DeleteMessageBatchCommandInput,
10
+ DeleteMessageBatchRequestEntry,
8
11
  Message,
9
12
  DeleteMessageCommand,
10
13
  paginateListQueues,
@@ -255,6 +258,66 @@ export class SqsQueueAdapter implements AbstractQueueAdapter {
255
258
  }
256
259
  }
257
260
 
261
+ async removeFromQueueBatch(messages: Message[]): Promise<any> {
262
+ if (process.env.SQS_QUEUE_URL === 'undefined') {
263
+ return { message: 'SQS_QUEUE_URL is undefined' };
264
+ }
265
+ if (!messages || messages.length === 0) {
266
+ return { successful: [], failed: [] };
267
+ }
268
+
269
+ const results: { successful: any[]; failed: any[] } = {
270
+ successful: [],
271
+ failed: [],
272
+ };
273
+
274
+ // SQS allows max 10 messages per batch
275
+ const batchSize = 10;
276
+ for (let i = 0; i < messages.length; i += batchSize) {
277
+ const batch = messages.slice(i, i + batchSize);
278
+ const entries: DeleteMessageBatchRequestEntry[] = batch.map(
279
+ (msg, index) => ({
280
+ Id: `${i + index}`,
281
+ ReceiptHandle: msg.ReceiptHandle!,
282
+ })
283
+ );
284
+
285
+ const params: DeleteMessageBatchCommandInput = {
286
+ QueueUrl: process.env.SQS_QUEUE_URL,
287
+ Entries: entries,
288
+ };
289
+
290
+ const deleteMessageBatchCommand = new DeleteMessageBatchCommand(params);
291
+ try {
292
+ const batchResult = await this.client.send(deleteMessageBatchCommand);
293
+ this.logger.debug(
294
+ `Batch delete response from SQS: ${JSON.stringify(batchResult)}`
295
+ );
296
+ if (batchResult.Successful) {
297
+ results.successful.push(...batchResult.Successful);
298
+ }
299
+ if (batchResult.Failed) {
300
+ results.failed.push(...batchResult.Failed);
301
+ }
302
+ } catch (err) {
303
+ this.logger.error(`Batch delete error: ${JSON.stringify(err)}`);
304
+ // Mark all messages in this batch as failed
305
+ entries.forEach((entry) => {
306
+ results.failed.push({
307
+ Id: entry.Id,
308
+ Code: 'BatchError',
309
+ Message: err instanceof Error ? err.message : 'Unknown error',
310
+ });
311
+ });
312
+ }
313
+ }
314
+
315
+ this.logger.debug(
316
+ `Batch remove complete: ${results.successful.length} successful, ${results.failed.length} failed`
317
+ );
318
+ return results;
319
+ }
320
+
258
321
  getEventJSONsFromMessages(messages: Message[]): any[] {
259
322
  return messages.map((item) => (item.Body ? JSON.parse(item.Body) : {}));
260
323
  }
@@ -9,5 +9,6 @@ export declare class BeanstalkdAdapter implements AbstractQueueAdapter {
9
9
  pushToQueue(body: Object): Promise<Object>;
10
10
  pullFromQueue(): Promise<Object>;
11
11
  removeFromQueue(body: Record<string, any>): Promise<boolean>;
12
+ removeFromQueueBatch(messages: Record<string, any>[]): Promise<Object>;
12
13
  getEventJSONsFromMessages(body: any[]): Object[];
13
14
  }
@@ -46,6 +46,32 @@ class BeanstalkdAdapter {
46
46
  return result;
47
47
  });
48
48
  }
49
+ removeFromQueueBatch(messages) {
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ const results = {
52
+ successful: [],
53
+ failed: [],
54
+ };
55
+ for (const message of messages) {
56
+ try {
57
+ const success = yield this.removeFromQueue(message);
58
+ if (success) {
59
+ results.successful.push({ id: message.id });
60
+ }
61
+ else {
62
+ results.failed.push({ id: message.id, reason: 'delete failed' });
63
+ }
64
+ }
65
+ catch (err) {
66
+ results.failed.push({
67
+ id: message.id,
68
+ reason: err instanceof Error ? err.message : 'Unknown error',
69
+ });
70
+ }
71
+ }
72
+ return results;
73
+ });
74
+ }
49
75
  getEventJSONsFromMessages(body) {
50
76
  this.logger.warn("Method not implemented.");
51
77
  return body;
@@ -1 +1 @@
1
- {"version":3,"file":"BeanstalkdAdapter.js","sourceRoot":"","sources":["../../../adapters/queue/BeanstalkdAdapter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAAwC;AAIxC,MAAa,iBAAiB;IAI5B,YAAY,MAAsB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,uBAAM,EAAE,CAAC;IAC7B,CAAC;IAEa,OAAO;;YACnB,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,CAAC;KAAA;IAEK,WAAW,CAAC,IAAY;;YAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW;gBAAE,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3C,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAEK,aAAa;;YACjB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW;gBAAE,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACnD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACpD,OAAO,GAAG,IAAI,EAAE,CAAC;QACnB,CAAC;KAAA;IAEK,eAAe,CAAC,IAAyB;;YAC7C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW;gBAAE,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/C,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAED,yBAAyB,CAAC,IAAW;QACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AApCD,8CAoCC"}
1
+ {"version":3,"file":"BeanstalkdAdapter.js","sourceRoot":"","sources":["../../../adapters/queue/BeanstalkdAdapter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAAwC;AAIxC,MAAa,iBAAiB;IAI5B,YAAY,MAAsB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,uBAAM,EAAE,CAAC;IAC7B,CAAC;IAEa,OAAO;;YACnB,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,CAAC;KAAA;IAEK,WAAW,CAAC,IAAY;;YAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW;gBAAE,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3C,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAEK,aAAa;;YACjB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW;gBAAE,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACnD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACpD,OAAO,GAAG,IAAI,EAAE,CAAC;QACnB,CAAC;KAAA;IAEK,eAAe,CAAC,IAAyB;;YAC7C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW;gBAAE,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/C,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAEK,oBAAoB,CAAC,QAA+B;;YACxD,MAAM,OAAO,GAAyC;gBACpD,UAAU,EAAE,EAAE;gBACd,MAAM,EAAE,EAAE;aACX,CAAC;YAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC9B,IAAI;oBACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;oBACpD,IAAI,OAAO,EAAE;wBACX,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;qBAC7C;yBAAM;wBACL,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;qBAClE;iBACF;gBAAC,OAAO,GAAG,EAAE;oBACZ,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;wBAClB,EAAE,EAAE,OAAO,CAAC,EAAE;wBACd,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAC7D,CAAC,CAAC;iBACJ;aACF;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;IAED,yBAAyB,CAAC,IAAW;QACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA7DD,8CA6DC"}
@@ -8,5 +8,6 @@ export declare class RedisAdapter implements AbstractQueueAdapter {
8
8
  pushToQueue(body: Object): Promise<Object>;
9
9
  pullFromQueue(): Promise<Object>;
10
10
  removeFromQueue(body: Record<string, any>): Promise<boolean>;
11
+ removeFromQueueBatch(messages: Record<string, any>[]): Promise<Object>;
11
12
  getEventJSONsFromMessages(body: any[]): Object[];
12
13
  }
@@ -35,6 +35,32 @@ class RedisAdapter {
35
35
  return result === 'completed';
36
36
  });
37
37
  }
38
+ removeFromQueueBatch(messages) {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ const results = {
41
+ successful: [],
42
+ failed: [],
43
+ };
44
+ for (const message of messages) {
45
+ try {
46
+ const success = yield this.removeFromQueue(message);
47
+ if (success) {
48
+ results.successful.push({ id: message.id });
49
+ }
50
+ else {
51
+ results.failed.push({ id: message.id, reason: 'not completed' });
52
+ }
53
+ }
54
+ catch (err) {
55
+ results.failed.push({
56
+ id: message.id,
57
+ reason: err instanceof Error ? err.message : 'Unknown error',
58
+ });
59
+ }
60
+ }
61
+ return results;
62
+ });
63
+ }
38
64
  getEventJSONsFromMessages(body) {
39
65
  this.logger.warn("Method not implemented.");
40
66
  return body;
@@ -1 +1 @@
1
- {"version":3,"file":"RedisAdapter.js","sourceRoot":"","sources":["../../../adapters/queue/RedisAdapter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAAoD;AAIpD,MAAa,YAAY;IAIvB,YAAY,MAAsB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;IACrC,CAAC;IAEK,WAAW,CAAC,IAAY;;YAC5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACrD,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAEK,aAAa;;YACjB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YACpC,OAAO,GAAG,IAAI,EAAE,CAAC;QACnB,CAAC;KAAA;IAEK,eAAe,CAAC,IAAyB;;YAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAClD,OAAO,MAAM,KAAK,WAAW,CAAC;QAChC,CAAC;KAAA;IAED,yBAAyB,CAAC,IAAW;QACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA7BD,oCA6BC"}
1
+ {"version":3,"file":"RedisAdapter.js","sourceRoot":"","sources":["../../../adapters/queue/RedisAdapter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAAoD;AAIpD,MAAa,YAAY;IAIvB,YAAY,MAAsB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;IACrC,CAAC;IAEK,WAAW,CAAC,IAAY;;YAC5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACrD,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAEK,aAAa;;YACjB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YACpC,OAAO,GAAG,IAAI,EAAE,CAAC;QACnB,CAAC;KAAA;IAEK,eAAe,CAAC,IAAyB;;YAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAClD,OAAO,MAAM,KAAK,WAAW,CAAC;QAChC,CAAC;KAAA;IAEK,oBAAoB,CAAC,QAA+B;;YACxD,MAAM,OAAO,GAAyC;gBACpD,UAAU,EAAE,EAAE;gBACd,MAAM,EAAE,EAAE;aACX,CAAC;YAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC9B,IAAI;oBACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;oBACpD,IAAI,OAAO,EAAE;wBACX,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;qBAC7C;yBAAM;wBACL,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;qBAClE;iBACF;gBAAC,OAAO,GAAG,EAAE;oBACZ,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;wBAClB,EAAE,EAAE,OAAO,CAAC,EAAE;wBACd,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAC7D,CAAC,CAAC;iBACJ;aACF;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;IAED,yBAAyB,CAAC,IAAW;QACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAtDD,oCAsDC"}
@@ -18,5 +18,6 @@ export declare class SqsQueueAdapter implements AbstractQueueAdapter {
18
18
  pushToQueue(event: Object): Promise<any>;
19
19
  pullFromQueue(): Promise<any>;
20
20
  removeFromQueue(queueMsg: Message): Promise<any>;
21
+ removeFromQueueBatch(messages: Message[]): Promise<any>;
21
22
  getEventJSONsFromMessages(messages: Message[]): any[];
22
23
  }
@@ -245,6 +245,57 @@ class SqsQueueAdapter {
245
245
  }
246
246
  });
247
247
  }
248
+ removeFromQueueBatch(messages) {
249
+ return __awaiter(this, void 0, void 0, function* () {
250
+ if (process.env.SQS_QUEUE_URL === 'undefined') {
251
+ return { message: 'SQS_QUEUE_URL is undefined' };
252
+ }
253
+ if (!messages || messages.length === 0) {
254
+ return { successful: [], failed: [] };
255
+ }
256
+ const results = {
257
+ successful: [],
258
+ failed: [],
259
+ };
260
+ // SQS allows max 10 messages per batch
261
+ const batchSize = 10;
262
+ for (let i = 0; i < messages.length; i += batchSize) {
263
+ const batch = messages.slice(i, i + batchSize);
264
+ const entries = batch.map((msg, index) => ({
265
+ Id: `${i + index}`,
266
+ ReceiptHandle: msg.ReceiptHandle,
267
+ }));
268
+ const params = {
269
+ QueueUrl: process.env.SQS_QUEUE_URL,
270
+ Entries: entries,
271
+ };
272
+ const deleteMessageBatchCommand = new client_sqs_1.DeleteMessageBatchCommand(params);
273
+ try {
274
+ const batchResult = yield this.client.send(deleteMessageBatchCommand);
275
+ this.logger.debug(`Batch delete response from SQS: ${JSON.stringify(batchResult)}`);
276
+ if (batchResult.Successful) {
277
+ results.successful.push(...batchResult.Successful);
278
+ }
279
+ if (batchResult.Failed) {
280
+ results.failed.push(...batchResult.Failed);
281
+ }
282
+ }
283
+ catch (err) {
284
+ this.logger.error(`Batch delete error: ${JSON.stringify(err)}`);
285
+ // Mark all messages in this batch as failed
286
+ entries.forEach((entry) => {
287
+ results.failed.push({
288
+ Id: entry.Id,
289
+ Code: 'BatchError',
290
+ Message: err instanceof Error ? err.message : 'Unknown error',
291
+ });
292
+ });
293
+ }
294
+ }
295
+ this.logger.debug(`Batch remove complete: ${results.successful.length} successful, ${results.failed.length} failed`);
296
+ return results;
297
+ });
298
+ }
248
299
  getEventJSONsFromMessages(messages) {
249
300
  return messages.map((item) => (item.Body ? JSON.parse(item.Body) : {}));
250
301
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SqsQueueAdapter.js","sourceRoot":"","sources":["../../../adapters/queue/SqsQueueAdapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,oDAW6B;AAC7B,iEAA4D;AAG5D,+BAA6B;AAC7B,iCAA4C;AAO5C,MAAa,eAAe;IAO1B,YAAY,MAAsB,EAAE,OAAgC;QAHpE,gBAAW,GAAY,KAAK,CAAC;QACrB,cAAS,GAAyC,EAAE,CAAC;QAG3D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB,EAAE;YACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SACzB;QACD,IAAI,MAAW,CAAC;QAChB,IAAI,cAAc,IAAI,OAAO,CAAC,GAAG,EAAE;YACjC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;SACnC;aAAM;YACL,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;SACjC;QACD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAc,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC;QAE1C,MAAM,YAAY,GAAQ;YACxB,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;SACnC,CAAC;QAEF,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,EAAE;YACvB,MAAM,SAAS,GAAG,IAAI,YAAK,CAAC;gBAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,aAAU,CAAC;gBAChC,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YAEH,YAAY,CAAC,cAAc,GAAG,IAAI,mCAAe,CAAC;gBAChD,SAAS;gBACT,UAAU;aACX,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;YACxD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;SACnE;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,sBAAS,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC;IAEa,gBAAgB;;;;YAC5B,MAAM,eAAe,GAAG,IAAA,+BAAkB,EAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;YACxE,MAAM,MAAM,GAAa,EAAE,CAAC;;gBAE5B,KAAyB,IAAA,oBAAA,cAAA,eAAe,CAAA,qBAAA;oBAA7B,MAAM,IAAI,4BAAA,CAAA;oBACnB,IAAI,MAAA,IAAI,CAAC,SAAS,0CAAE,MAAM,EAAE;wBAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;qBAChC;iBACF;;;;;;;;;YACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;;KACvE;IAEa,WAAW;;YACvB,MAAM,OAAO,GAAG,IAAI,+BAAkB,CAAC;gBACrC,SAAS,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;aAC5D,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,QAAQ,CAAC,QAAQ,cAAc,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QACtF,CAAC;KAAA;IAEO,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;YACjD,OAAO,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;SAChD;QAED,MAAM,KAAK,GAAQ,EAAE,CAAC;QAEtB,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAW,CAAC;YACzC,KAAK,CAAC,IAAI,GAAG;gBACX,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,IAAI,CAAC;gBAC7C,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM;gBAClD,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM;gBAChD,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,MAAM;aACzD,CAAC;SACH;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAY,CAAC;YAC1C,KAAK,CAAC,KAAK,GAAG;gBACZ,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,IAAI,CAAC;gBAC7C,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM;gBAClD,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM;gBAChD,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,MAAM;aACzD,CAAC;SACH;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEK,WAAW,CAAC,KAAa;;YAC7B,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBACjC,OAAO,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC;aAClD;YACD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;gBAC7C,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE;oBACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;oBAC1D,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;oBACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;iBACzB;qBAAM;oBACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;iBACzB;aACF;YACD,MAAM,MAAM,GAA4B;gBACtC,iBAAiB,EAAE;oBACjB,KAAK,EAAE;wBACL,QAAQ,EAAE,QAAQ;wBAClB,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC;qBAC5B;oBACD,IAAI,EAAE;wBACJ,QAAQ,EAAE,QAAQ;wBAClB,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC;4BAC7B,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;4BAC5B,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBAC7B;iBACF;gBACD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;gBACnC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;aACnC,CAAC;YACF,MAAM,kBAAkB,GAAG,IAAI,+BAAkB,CAAC,MAAM,CAAC,CAAC;YAE1D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAI;gBACF,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBAExC,IAAI,QAAQ,GAAG,IAAI,EAAE;oBACnB,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,yBAAyB,QAAQ,yCAAyC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CACxG,CAAC;iBACH;gBAED,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,sBAAsB,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAC1D,CAAC;gBACF,OAAO,iBAAiB,CAAC;aAC1B;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBACxC,IAAI,QAAQ,GAAG,IAAI,EAAE;oBACnB,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,iCAAiC,QAAQ,yCAAyC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAChH,CAAC;iBACH;gBACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACvB,OAAO,GAAG,CAAC;aACZ;QACH,CAAC;KAAA;IAEK,aAAa;;YACjB,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBACjC,OAAO,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC;aAClD;YACD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;gBAC7C,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE;oBACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;oBAC1D,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;oBACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;iBACzB;qBAAM;oBACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;iBACzB;aACF;YACD,IAAI,WAAW,GAAW,EAAE,CAAC;YAC7B,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,QAAQ,EAAE;gBACpD,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;aAC5C;YACD,IAAI,QAAQ,GAAW,EAAE,CAAC;YAC1B,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,QAAQ,EAAE;gBACjD,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;aACtC;YACD,MAAM,MAAM,GAA+B;gBACzC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;gBACnC,mBAAmB,EAAE,WAAW;gBAChC,qBAAqB,EAAE,CAAC,KAAK,CAAC;gBAC9B,eAAe,EAAE,QAAQ;aAC1B,CAAC;YACF,MAAM,qBAAqB,GAAG,IAAI,kCAAqB,CAAC,MAAM,CAAC,CAAC;YAChE,IAAI;gBACF,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACjD,qBAAqB,CACtB,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,qCACE,oBAAoB,CAAC,QAAQ;oBAC3B,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,MAAM;oBACtC,CAAC,CAAC,CACN,EAAE,CACH,CAAC;gBACF,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE;oBAClC,OAAO,EAAE,CAAC;iBACX;gBACD,OAAO,oBAAoB,CAAC,QAAQ,CAAC;aACtC;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACvB,OAAO,GAAG,CAAC;aACZ;QACH,CAAC;KAAA;IAEK,eAAe,CAAC,QAAiB;;YACrC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,WAAW,EAAE;gBAC7C,OAAO,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC;aAClD;YACD,MAAM,MAAM,GAA8B;gBACxC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;gBACnC,aAAa,EAAE,QAAQ,CAAC,aAAa;aACtC,CAAC;YACF,MAAM,oBAAoB,GAAG,IAAI,iCAAoB,CAAC,MAAM,CAAC,CAAC;YAC9D,IAAI;gBACF,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBACzE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,sBAAsB,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAAE,CAC5D,CAAC;gBACF,OAAO,mBAAmB,CAAC;aAC5B;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvC,OAAO,GAAG,CAAC;aACZ;QACH,CAAC;KAAA;IAED,yBAAyB,CAAC,QAAmB;QAC3C,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC;CACF;AA7OD,0CA6OC"}
1
+ {"version":3,"file":"SqsQueueAdapter.js","sourceRoot":"","sources":["../../../adapters/queue/SqsQueueAdapter.ts"],"names":[],"mappings":"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"}
@@ -11,5 +11,6 @@ export declare abstract class AbstractQueueAdapter {
11
11
  abstract pushToQueue(body: Object): Promise<Object>;
12
12
  abstract pullFromQueue(): Promise<Object>;
13
13
  abstract removeFromQueue(body: Object): Promise<Object>;
14
+ abstract removeFromQueueBatch(messages: Object[]): Promise<Object>;
14
15
  abstract getEventJSONsFromMessages(body: any[]): Object[];
15
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../types/queue.ts"],"names":[],"mappings":";;;AASA,MAAsB,oBAAoB;CAOzC;AAPD,oDAOC"}
1
+ {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../types/queue.ts"],"names":[],"mappings":";;;AASA,MAAsB,oBAAoB;CAQzC;AARD,oDAQC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eyevinn/player-analytics-shared",
3
- "version": "0.9.4",
3
+ "version": "0.10.0",
4
4
  "description": "Shared modules &amp; adapters for EPAS components",
5
5
  "source": "index.ts",
6
6
  "main": "./build/index.js",
@@ -1,5 +1,6 @@
1
1
  import {
2
2
  DeleteMessageCommand,
3
+ DeleteMessageBatchCommand,
3
4
  Message,
4
5
  ReceiveMessageCommand,
5
6
  SendMessageCommand,
@@ -177,4 +178,91 @@ describe('SQS Queue Adapter', () => {
177
178
  expect(readResult.toString()).toEqual(errMsg.Code);
178
179
  expect(removeResult.toString()).toEqual(errMsg.Code);
179
180
  });
181
+
182
+ it('should batch remove messages from queue', async () => {
183
+ const batchResp = {
184
+ Successful: [{ Id: '0' }, { Id: '1' }],
185
+ Failed: [],
186
+ };
187
+ sqsMock.on(DeleteMessageBatchCommand).resolves(batchResp);
188
+ const queueAdapter = new SqsQueueAdapter(Logger, { skipQueueExistsCheck: true });
189
+ const messages: Message[] = [
190
+ {
191
+ MessageId: 'msg-1',
192
+ ReceiptHandle: 'receipt-1',
193
+ Body: JSON.stringify({ event: 'loading' }),
194
+ },
195
+ {
196
+ MessageId: 'msg-2',
197
+ ReceiptHandle: 'receipt-2',
198
+ Body: JSON.stringify({ event: 'playing' }),
199
+ },
200
+ ];
201
+ const result = await queueAdapter.removeFromQueueBatch(messages);
202
+ expect(result).toEqual({ successful: batchResp.Successful, failed: [] });
203
+ });
204
+
205
+ it('should handle empty messages array in batch remove', async () => {
206
+ const queueAdapter = new SqsQueueAdapter(Logger, { skipQueueExistsCheck: true });
207
+ const result = await queueAdapter.removeFromQueueBatch([]);
208
+ expect(result).toEqual({ successful: [], failed: [] });
209
+ });
210
+
211
+ it('should not batch remove from queue if sqs queue env is not set', async () => {
212
+ process.env.SQS_QUEUE_URL = undefined;
213
+ const queueAdapter = new SqsQueueAdapter(Logger);
214
+ const messages: Message[] = [
215
+ {
216
+ MessageId: 'msg-1',
217
+ ReceiptHandle: 'receipt-1',
218
+ Body: JSON.stringify({ event: 'loading' }),
219
+ },
220
+ ];
221
+ const result = await queueAdapter.removeFromQueueBatch(messages);
222
+ expect(result).toEqual({ message: 'SQS_QUEUE_URL is undefined' });
223
+ });
224
+
225
+ it('should handle batch delete with more than 10 messages', async () => {
226
+ const batchResp = {
227
+ Successful: Array.from({ length: 10 }, (_, i) => ({ Id: `${i}` })),
228
+ Failed: [],
229
+ };
230
+ sqsMock.on(DeleteMessageBatchCommand).resolves(batchResp);
231
+ const queueAdapter = new SqsQueueAdapter(Logger, { skipQueueExistsCheck: true });
232
+ const messages: Message[] = Array.from({ length: 15 }, (_, i) => ({
233
+ MessageId: `msg-${i}`,
234
+ ReceiptHandle: `receipt-${i}`,
235
+ Body: JSON.stringify({ event: 'loading' }),
236
+ }));
237
+ const result: any = await queueAdapter.removeFromQueueBatch(messages);
238
+ // Should make 2 batch calls (10 + 5 messages)
239
+ expect(result.successful.length).toBe(20); // 10 from first batch + 10 from second mock response
240
+ });
241
+
242
+ it('should handle batch delete errors', async () => {
243
+ const errMsg: AwsError = {
244
+ Type: 'Sender',
245
+ Code: 'AWS.SimpleQueueService.NonExistentQueue',
246
+ name: 'AWS.SimpleQueueService.NonExistentQueue',
247
+ $fault: 'client',
248
+ $metadata: {
249
+ httpStatusCode: 400,
250
+ requestId: 'df840ab9-e68b-5c0e-b4a0-5094f2dfaee8',
251
+ attempts: 1,
252
+ totalRetryDelay: 0,
253
+ },
254
+ };
255
+ sqsMock.on(DeleteMessageBatchCommand).rejects(errMsg);
256
+ const queueAdapter = new SqsQueueAdapter(Logger, { skipQueueExistsCheck: true });
257
+ const messages: Message[] = [
258
+ {
259
+ MessageId: 'msg-1',
260
+ ReceiptHandle: 'receipt-1',
261
+ Body: JSON.stringify({ event: 'loading' }),
262
+ },
263
+ ];
264
+ const result: any = await queueAdapter.removeFromQueueBatch(messages);
265
+ expect(result.failed.length).toBe(1);
266
+ expect(result.failed[0].Code).toBe('BatchError');
267
+ });
180
268
  });
package/types/queue.ts CHANGED
@@ -13,5 +13,6 @@ export abstract class AbstractQueueAdapter {
13
13
  abstract pushToQueue(body: Object): Promise<Object>;
14
14
  abstract pullFromQueue(): Promise<Object>;
15
15
  abstract removeFromQueue(body: Object): Promise<Object>;
16
+ abstract removeFromQueueBatch(messages: Object[]): Promise<Object>;
16
17
  abstract getEventJSONsFromMessages(body: any[]): Object[];
17
18
  }