@message-queue-toolkit/sns 9.0.0 → 10.0.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.
- package/dist/lib/sns/AbstractSnsPublisherMonoSchema.js +2 -22
- package/dist/lib/sns/AbstractSnsPublisherMonoSchema.js.map +1 -1
- package/dist/lib/sns/AbstractSnsPublisherMultiSchema.js +4 -24
- package/dist/lib/sns/AbstractSnsPublisherMultiSchema.js.map +1 -1
- package/dist/lib/sns/AbstractSnsService.d.ts +3 -0
- package/dist/lib/sns/AbstractSnsService.js +27 -0
- package/dist/lib/sns/AbstractSnsService.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AbstractSnsPublisherMonoSchema = void 0;
|
|
4
|
-
const client_sns_1 = require("@aws-sdk/client-sns");
|
|
5
4
|
const AbstractSnsService_1 = require("./AbstractSnsService");
|
|
6
5
|
class AbstractSnsPublisherMonoSchema extends AbstractSnsService_1.AbstractSnsService {
|
|
7
6
|
messageSchema;
|
|
@@ -13,27 +12,8 @@ class AbstractSnsPublisherMonoSchema extends AbstractSnsService_1.AbstractSnsSer
|
|
|
13
12
|
result: this.messageSchema,
|
|
14
13
|
};
|
|
15
14
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
this.messageSchema.parse(message);
|
|
19
|
-
if (this.logMessages) {
|
|
20
|
-
// @ts-ignore
|
|
21
|
-
const resolvedLogMessage = this.resolveMessageLog(message, message[this.messageTypeField]);
|
|
22
|
-
this.logMessage(resolvedLogMessage);
|
|
23
|
-
}
|
|
24
|
-
const input = {
|
|
25
|
-
Message: JSON.stringify(message),
|
|
26
|
-
TopicArn: this.topicArn,
|
|
27
|
-
...options,
|
|
28
|
-
};
|
|
29
|
-
const command = new client_sns_1.PublishCommand(input);
|
|
30
|
-
await this.snsClient.send(command);
|
|
31
|
-
this.handleMessageProcessed(message, 'published');
|
|
32
|
-
}
|
|
33
|
-
catch (error) {
|
|
34
|
-
this.handleError(error);
|
|
35
|
-
throw error;
|
|
36
|
-
}
|
|
15
|
+
publish(message, options = {}) {
|
|
16
|
+
return this.internalPublish(message, this.messageSchema, options);
|
|
37
17
|
}
|
|
38
18
|
/* c8 ignore start */
|
|
39
19
|
resolveMessage() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractSnsPublisherMonoSchema.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsPublisherMonoSchema.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"AbstractSnsPublisherMonoSchema.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsPublisherMonoSchema.ts"],"names":[],"mappings":";;;AAWA,6DAAyD;AAOzD,MAAsB,8BACpB,SAAQ,uCAAsC;IAG7B,aAAa,CAA+B;IAC5C,YAAY,CAA8C;IAE3E,YACE,YAA6B,EAC7B,OAC4C;QAE5C,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAC5B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;QAC1C,IAAI,CAAC,YAAY,GAAG;YAClB,MAAM,EAAE,IAAI,CAAC,aAAa;SAC3B,CAAA;IACH,CAAC;IAED,OAAO,CAAC,OAA2B,EAAE,UAA6B,EAAE;QAClE,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;IACnE,CAAC;IAED,qBAAqB;IACF,cAAc;QAI/B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAClD,CAAC;IAEkB,aAAa;QAC9B,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;CAEF;AAnCD,wEAmCC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AbstractSnsPublisherMultiSchema = void 0;
|
|
4
|
-
const client_sns_1 = require("@aws-sdk/client-sns");
|
|
5
4
|
const core_1 = require("@message-queue-toolkit/core");
|
|
6
5
|
const AbstractSnsService_1 = require("./AbstractSnsService");
|
|
7
6
|
class AbstractSnsPublisherMultiSchema extends AbstractSnsService_1.AbstractSnsService {
|
|
@@ -15,30 +14,11 @@ class AbstractSnsPublisherMultiSchema extends AbstractSnsService_1.AbstractSnsSe
|
|
|
15
14
|
});
|
|
16
15
|
}
|
|
17
16
|
async publish(message, options = {}) {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
throw resolveSchemaResult.error;
|
|
22
|
-
}
|
|
23
|
-
resolveSchemaResult.result.parse(message);
|
|
24
|
-
if (this.logMessages) {
|
|
25
|
-
// @ts-ignore
|
|
26
|
-
const resolvedLogMessage = this.resolveMessageLog(message, message[this.messageTypeField]);
|
|
27
|
-
this.logMessage(resolvedLogMessage);
|
|
28
|
-
}
|
|
29
|
-
const input = {
|
|
30
|
-
Message: JSON.stringify(message),
|
|
31
|
-
TopicArn: this.topicArn,
|
|
32
|
-
...options,
|
|
33
|
-
};
|
|
34
|
-
const command = new client_sns_1.PublishCommand(input);
|
|
35
|
-
await this.snsClient.send(command);
|
|
36
|
-
this.handleMessageProcessed(message, 'published');
|
|
37
|
-
}
|
|
38
|
-
catch (error) {
|
|
39
|
-
this.handleError(error);
|
|
40
|
-
throw error;
|
|
17
|
+
const messageSchemaResult = this.resolveSchema(message);
|
|
18
|
+
if (messageSchemaResult.error) {
|
|
19
|
+
throw messageSchemaResult.error;
|
|
41
20
|
}
|
|
21
|
+
return this.internalPublish(message, messageSchemaResult.result, options);
|
|
42
22
|
}
|
|
43
23
|
resolveMessage() {
|
|
44
24
|
throw new Error('Not implemented for publisher');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractSnsPublisherMultiSchema.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsPublisherMultiSchema.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"AbstractSnsPublisherMultiSchema.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsPublisherMultiSchema.ts"],"names":[],"mappings":";;;AAOA,sDAAoE;AAIpE,6DAAyD;AAOzD,MAAsB,+BACpB,SAAQ,uCAA0D;IAGjD,sBAAsB,CAA4C;IAEnF,YACE,YAA6B,EAC7B,OAEC;QAED,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAE5B,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAA;QAC7C,IAAI,CAAC,sBAAsB,GAAG,IAAI,6BAAsB,CAAqB;YAC3E,cAAc;YACd,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;SAC3C,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAA2B,EAAE,UAA6B,EAAE;QACxE,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QACvD,IAAI,mBAAmB,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,mBAAmB,CAAC,KAAK,CAAA;QACjC,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC3E,CAAC;IAEkB,cAAc;QAI/B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAClD,CAAC;IAEkB,aAAa,CAAC,OAA2B;QAC1D,OAAO,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IAC3D,CAAC;CACF;AAxCD,0EAwCC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { SNSClient, CreateTopicCommandInput, Tag } from '@aws-sdk/client-sns';
|
|
2
2
|
import type { QueueConsumerDependencies, QueueDependencies, NewQueueOptions, ExistingQueueOptions, NewQueueOptionsMultiSchema, ExistingQueueOptionsMultiSchema } from '@message-queue-toolkit/core';
|
|
3
3
|
import { AbstractQueueService } from '@message-queue-toolkit/core';
|
|
4
|
+
import type { ZodSchema } from 'zod';
|
|
4
5
|
import type { SNS_MESSAGE_BODY_TYPE } from '../types/MessageTypes';
|
|
6
|
+
import type { SNSMessageOptions } from './AbstractSnsPublisherMonoSchema';
|
|
5
7
|
export type SNSDependencies = QueueDependencies & {
|
|
6
8
|
snsClient: SNSClient;
|
|
7
9
|
};
|
|
@@ -40,4 +42,5 @@ export declare abstract class AbstractSnsService<MessagePayloadType extends obje
|
|
|
40
42
|
constructor(dependencies: DependenciesType, options: SNSOptionsType);
|
|
41
43
|
init(): Promise<void>;
|
|
42
44
|
close(): Promise<void>;
|
|
45
|
+
protected internalPublish(message: MessagePayloadType, messageSchema: ZodSchema<MessagePayloadType>, options?: SNSMessageOptions): Promise<void>;
|
|
43
46
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AbstractSnsService = void 0;
|
|
4
|
+
const client_sns_1 = require("@aws-sdk/client-sns");
|
|
4
5
|
const core_1 = require("@message-queue-toolkit/core");
|
|
5
6
|
const snsInitter_1 = require("../utils/snsInitter");
|
|
6
7
|
class AbstractSnsService extends core_1.AbstractQueueService {
|
|
@@ -20,6 +21,32 @@ class AbstractSnsService extends core_1.AbstractQueueService {
|
|
|
20
21
|
}
|
|
21
22
|
// eslint-disable-next-line @typescript-eslint/require-await
|
|
22
23
|
async close() { }
|
|
24
|
+
async internalPublish(message, messageSchema, options = {}) {
|
|
25
|
+
if (this.topicArn === undefined) {
|
|
26
|
+
// Lazy loading
|
|
27
|
+
await this.init();
|
|
28
|
+
}
|
|
29
|
+
try {
|
|
30
|
+
messageSchema.parse(message);
|
|
31
|
+
if (this.logMessages) {
|
|
32
|
+
// @ts-ignore
|
|
33
|
+
const resolvedLogMessage = this.resolveMessageLog(message, message[this.messageTypeField]);
|
|
34
|
+
this.logMessage(resolvedLogMessage);
|
|
35
|
+
}
|
|
36
|
+
const input = {
|
|
37
|
+
Message: JSON.stringify(message),
|
|
38
|
+
TopicArn: this.topicArn,
|
|
39
|
+
...options,
|
|
40
|
+
};
|
|
41
|
+
const command = new client_sns_1.PublishCommand(input);
|
|
42
|
+
await this.snsClient.send(command);
|
|
43
|
+
this.handleMessageProcessed(message, 'published');
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
this.handleError(error);
|
|
47
|
+
throw error;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
23
50
|
}
|
|
24
51
|
exports.AbstractSnsService = AbstractSnsService;
|
|
25
52
|
//# sourceMappingURL=AbstractSnsService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractSnsService.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsService.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"AbstractSnsService.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsService.ts"],"names":[],"mappings":";;;AACA,oDAAoD;AAUpD,sDAAkE;AAIlE,oDAAwD;AAqDxD,MAAsB,kBAOpB,SAAQ,2BAOT;IACoB,SAAS,CAAW;IACvC,aAAa;IACN,QAAQ,CAAQ;IAEvB,YAAY,YAA8B,EAAE,OAAuB;QACjE,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAE5B,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAA;IACzC,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC/C,MAAM,IAAA,sBAAS,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3E,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAA,oBAAO,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QACzF,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAA;IACrC,CAAC;IAED,4DAA4D;IAC5C,KAAK,CAAC,KAAK,KAAmB,CAAC;IAErC,KAAK,CAAC,eAAe,CAC7B,OAA2B,EAC3B,aAA4C,EAC5C,UAA6B,EAAE;QAE/B,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,eAAe;YACf,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QACnB,CAAC;QAED,IAAI,CAAC;YACH,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAE5B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,aAAa;gBACb,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAA;gBAC1F,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAA;YACrC,CAAC;YAED,MAAM,KAAK,GAAG;gBACZ,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,GAAG,OAAO;aACmB,CAAA;YAC/B,MAAM,OAAO,GAAG,IAAI,2BAAc,CAAC,KAAK,CAAC,CAAA;YACzC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAClC,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;YACvB,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;CACF;AArED,gDAqEC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@message-queue-toolkit/sns",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "10.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "SNS adapter for message-queue-toolkit",
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
"peerDependencies": {
|
|
34
34
|
"@aws-sdk/client-sns": "^3.476.0",
|
|
35
35
|
"@aws-sdk/client-sqs": "^3.476.0",
|
|
36
|
-
"@message-queue-toolkit/core": "^
|
|
37
|
-
"@message-queue-toolkit/sqs": "^
|
|
36
|
+
"@message-queue-toolkit/core": "^8.0.0",
|
|
37
|
+
"@message-queue-toolkit/sqs": "^10.0.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@aws-sdk/client-sns": "^3.476.0",
|