@apipass/sqs-server 0.0.48 → 0.0.49

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.
@@ -1,8 +1,10 @@
1
1
  import { type SNSClient } from '@aws-sdk/client-sns';
2
2
  import { type SQSClient } from '@aws-sdk/client-sqs';
3
+ import { type S3Client } from "@aws-sdk/client-s3";
3
4
  export interface SqsOptions {
4
5
  region: string;
5
6
  accountId: string;
6
7
  sqs?: SQSClient;
7
8
  sns?: SNSClient;
9
+ s3?: S3Client;
8
10
  }
@@ -5,6 +5,7 @@ export declare class SQSServer extends Server implements CustomTransportStrategy
5
5
  private readonly options;
6
6
  private readonly sqsClient;
7
7
  private readonly snsClient;
8
+ private readonly s3Client;
8
9
  private consumers;
9
10
  private registeredQueues;
10
11
  constructor(sqsOptions: SqsOptions);
@@ -13,4 +14,6 @@ export declare class SQSServer extends Server implements CustomTransportStrategy
13
14
  private handle;
14
15
  private createAwsResources;
15
16
  close(): any;
17
+ private isS3Message;
18
+ private readMessageFromPayloadS3Pointer;
16
19
  }
package/lib/sqs-server.js CHANGED
@@ -26,15 +26,17 @@ const sqs_consumer_1 = require("sqs-consumer");
26
26
  const sqs_context_1 = require("./sqs-context");
27
27
  const client_sqs_1 = require("@aws-sdk/client-sqs");
28
28
  const client_sns_1 = require("@aws-sdk/client-sns");
29
+ const client_s3_1 = require("@aws-sdk/client-s3");
29
30
  const sqs_common_1 = require("@apipass/sqs-common");
30
31
  class SQSServer extends microservices_1.Server {
31
32
  constructor(sqsOptions) {
32
- var _a, _b;
33
+ var _a, _b, _c;
33
34
  super();
34
35
  this.sqsOptions = sqsOptions;
35
36
  this.options = sqsOptions;
36
37
  this.sqsClient = (_a = this.options.sqs) !== null && _a !== void 0 ? _a : new client_sqs_1.SQSClient();
37
38
  this.snsClient = (_b = this.options.sns) !== null && _b !== void 0 ? _b : new client_sns_1.SNSClient();
39
+ this.s3Client = (_c = this.options.s3) !== null && _c !== void 0 ? _c : new client_s3_1.S3Client();
38
40
  this.consumers = [];
39
41
  this.registeredQueues = [];
40
42
  }
@@ -70,8 +72,12 @@ class SQSServer extends microservices_1.Server {
70
72
  handleMessage: (message) => __awaiter(this, void 0, void 0, function* () {
71
73
  const { Body } = message, messageMetadata = __rest(message, ["Body"]);
72
74
  const sqsCtx = new sqs_context_1.SQSContext({ queueName, messageMetadata });
75
+ let messageBody = JSON.parse(Body);
73
76
  if (typeof Body === 'string') {
74
- yield handler(JSON.parse(Body), sqsCtx);
77
+ if (this.isS3Message(message)) {
78
+ messageBody = yield this.readMessageFromPayloadS3Pointer(messageBody[1]);
79
+ }
80
+ yield handler(JSON.parse(messageBody), sqsCtx);
75
81
  }
76
82
  })
77
83
  });
@@ -109,6 +115,21 @@ class SQSServer extends microservices_1.Server {
109
115
  this.consumers = [];
110
116
  this.registeredQueues = [];
111
117
  }
118
+ isS3Message(messageBody) {
119
+ return !!(messageBody && Array.isArray(messageBody)
120
+ && messageBody[0] instanceof String
121
+ && messageBody[0].includes('PayloadS3Pointer'));
122
+ }
123
+ readMessageFromPayloadS3Pointer(objectInfo) {
124
+ return __awaiter(this, void 0, void 0, function* () {
125
+ const object = new client_s3_1.GetObjectCommand({
126
+ Bucket: objectInfo.s3BucketName,
127
+ Key: objectInfo.s3Key
128
+ });
129
+ const response = yield this.s3Client.send(object);
130
+ return JSON.parse(yield response.Body.transformToString());
131
+ });
132
+ }
112
133
  }
113
134
  exports.SQSServer = SQSServer;
114
135
  //# sourceMappingURL=sqs-server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqs-server.js","sourceRoot":"","sources":["../src/sqs-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqs-server.js","sourceRoot":"","sources":["../src/sqs-server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apipass/sqs-server",
3
- "version": "0.0.48",
3
+ "version": "0.0.49",
4
4
  "description": "> TODO: description",
5
5
  "author": "Alexandre Zanelatto <alexandre@apipass.com.br>",
6
6
  "license": "ISC",
@@ -12,6 +12,7 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "@apipass/sqs-common": "0.0.54",
15
+ "@aws-sdk/client-s3": "3.731.1",
15
16
  "@aws-sdk/client-sns": "3.731.1",
16
17
  "sqs-consumer": "11.4.0"
17
18
  },
@@ -28,5 +29,5 @@
28
29
  "tsc": "tsc",
29
30
  "test": "node ./__tests__/@apipass/sqs-server.test.js"
30
31
  },
31
- "gitHead": "396938e5c8ca5ed0b116b4055040596042bc8ef9"
32
+ "gitHead": "0cc58b7290f097fdfe47bce94fda836f5f6449c6"
32
33
  }