@allthings/cloud-toolkit 5.2.0-beta.1 → 5.2.0-beta.2

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.
@@ -0,0 +1,102 @@
1
+ 'use strict';
2
+
3
+ var clientSqs = require('@aws-sdk/client-sqs');
4
+
5
+ const DEFAULT_AWS_CONFIGURATION = {
6
+ region: 'eu-central-2',
7
+ };
8
+
9
+ const deleteQueueItem = async (sqsClient, config, queueUrl, receiptHandle) => {
10
+ try {
11
+ const deleteMessageCommand = new clientSqs.DeleteMessageCommand({
12
+ QueueUrl: queueUrl,
13
+ ReceiptHandle: receiptHandle,
14
+ });
15
+ return await sqsClient.send(deleteMessageCommand);
16
+ }
17
+ catch (error) {
18
+ if (config.logger) {
19
+ config.logger.error(error);
20
+ }
21
+ return undefined;
22
+ }
23
+ };
24
+ const getQueueItems = async (sqsClient, config, queueUrl, maxNumberOfMessages = 1) => {
25
+ try {
26
+ const receiveMessageCommand = new clientSqs.ReceiveMessageCommand({
27
+ MaxNumberOfMessages: maxNumberOfMessages,
28
+ QueueUrl: queueUrl,
29
+ });
30
+ return await sqsClient.send(receiveMessageCommand);
31
+ }
32
+ catch (error) {
33
+ if (config.logger) {
34
+ config.logger.error(error);
35
+ }
36
+ return undefined;
37
+ }
38
+ };
39
+ const getQueueUrl = async (sqsClient, config, queueName) => {
40
+ try {
41
+ const getUrlCommand = new clientSqs.GetQueueUrlCommand({ QueueName: queueName });
42
+ const result = await sqsClient.send(getUrlCommand);
43
+ return result.QueueUrl;
44
+ }
45
+ catch (error) {
46
+ if (config.logger) {
47
+ config.logger.error(error);
48
+ }
49
+ return undefined;
50
+ }
51
+ };
52
+ const sendMessage = async (sqsClient, config, queueUrl, message, fifoSettings = {}, messageAttributes, messageDelay = 0) => {
53
+ try {
54
+ const sendMessageCommand = new clientSqs.SendMessageCommand({
55
+ ...fifoSettings,
56
+ ...(messageAttributes ? { MessageAttributes: messageAttributes } : {}),
57
+ DelaySeconds: messageDelay,
58
+ MessageBody: message,
59
+ QueueUrl: queueUrl,
60
+ });
61
+ const result = await sqsClient.send(sendMessageCommand);
62
+ return result.MessageId;
63
+ }
64
+ catch (error) {
65
+ if (config.logger) {
66
+ config.logger.error(error);
67
+ }
68
+ return undefined;
69
+ }
70
+ };
71
+ const sendBatchMessages = async (sqsClient, config, queueUrl, queueEntries) => {
72
+ try {
73
+ const sendMessageBatchCommand = new clientSqs.SendMessageBatchCommand({
74
+ Entries: queueEntries,
75
+ QueueUrl: queueUrl,
76
+ });
77
+ const result = await sqsClient.send(sendMessageBatchCommand);
78
+ return { failed: result.Failed, successful: result.Successful };
79
+ }
80
+ catch (error) {
81
+ if (config.logger) {
82
+ config.logger.error(error);
83
+ }
84
+ return { failed: undefined, successful: undefined };
85
+ }
86
+ };
87
+ const sqs = (userConfig) => {
88
+ const { clientConfig, ...config } = {
89
+ ...DEFAULT_AWS_CONFIGURATION,
90
+ ...userConfig,
91
+ };
92
+ const sqsClient = new clientSqs.SQSClient(clientConfig);
93
+ return {
94
+ deleteQueueItem: (queueUrl, receiptHandle) => deleteQueueItem(sqsClient, config, queueUrl, receiptHandle),
95
+ getQueueItems: (queueUrl, maxNumberOfMessages) => getQueueItems(sqsClient, config, queueUrl, maxNumberOfMessages),
96
+ getQueueUrl: (queueName) => getQueueUrl(sqsClient, config, queueName),
97
+ sendBatchMessages: (queueUrl, queueEntries) => sendBatchMessages(sqsClient, config, queueUrl, queueEntries),
98
+ sendMessage: (queueUrl, message, fifoSettings, messageAttributes, messageDelay) => sendMessage(sqsClient, config, queueUrl, message, fifoSettings, messageAttributes, messageDelay),
99
+ };
100
+ };
101
+
102
+ module.exports = sqs;
@@ -0,0 +1,100 @@
1
+ import { SQSClient, SendMessageCommand, SendMessageBatchCommand, GetQueueUrlCommand, ReceiveMessageCommand, DeleteMessageCommand } from '@aws-sdk/client-sqs';
2
+
3
+ const DEFAULT_AWS_CONFIGURATION = {
4
+ region: 'eu-central-2',
5
+ };
6
+
7
+ const deleteQueueItem = async (sqsClient, config, queueUrl, receiptHandle) => {
8
+ try {
9
+ const deleteMessageCommand = new DeleteMessageCommand({
10
+ QueueUrl: queueUrl,
11
+ ReceiptHandle: receiptHandle,
12
+ });
13
+ return await sqsClient.send(deleteMessageCommand);
14
+ }
15
+ catch (error) {
16
+ if (config.logger) {
17
+ config.logger.error(error);
18
+ }
19
+ return undefined;
20
+ }
21
+ };
22
+ const getQueueItems = async (sqsClient, config, queueUrl, maxNumberOfMessages = 1) => {
23
+ try {
24
+ const receiveMessageCommand = new ReceiveMessageCommand({
25
+ MaxNumberOfMessages: maxNumberOfMessages,
26
+ QueueUrl: queueUrl,
27
+ });
28
+ return await sqsClient.send(receiveMessageCommand);
29
+ }
30
+ catch (error) {
31
+ if (config.logger) {
32
+ config.logger.error(error);
33
+ }
34
+ return undefined;
35
+ }
36
+ };
37
+ const getQueueUrl = async (sqsClient, config, queueName) => {
38
+ try {
39
+ const getUrlCommand = new GetQueueUrlCommand({ QueueName: queueName });
40
+ const result = await sqsClient.send(getUrlCommand);
41
+ return result.QueueUrl;
42
+ }
43
+ catch (error) {
44
+ if (config.logger) {
45
+ config.logger.error(error);
46
+ }
47
+ return undefined;
48
+ }
49
+ };
50
+ const sendMessage = async (sqsClient, config, queueUrl, message, fifoSettings = {}, messageAttributes, messageDelay = 0) => {
51
+ try {
52
+ const sendMessageCommand = new SendMessageCommand({
53
+ ...fifoSettings,
54
+ ...(messageAttributes ? { MessageAttributes: messageAttributes } : {}),
55
+ DelaySeconds: messageDelay,
56
+ MessageBody: message,
57
+ QueueUrl: queueUrl,
58
+ });
59
+ const result = await sqsClient.send(sendMessageCommand);
60
+ return result.MessageId;
61
+ }
62
+ catch (error) {
63
+ if (config.logger) {
64
+ config.logger.error(error);
65
+ }
66
+ return undefined;
67
+ }
68
+ };
69
+ const sendBatchMessages = async (sqsClient, config, queueUrl, queueEntries) => {
70
+ try {
71
+ const sendMessageBatchCommand = new SendMessageBatchCommand({
72
+ Entries: queueEntries,
73
+ QueueUrl: queueUrl,
74
+ });
75
+ const result = await sqsClient.send(sendMessageBatchCommand);
76
+ return { failed: result.Failed, successful: result.Successful };
77
+ }
78
+ catch (error) {
79
+ if (config.logger) {
80
+ config.logger.error(error);
81
+ }
82
+ return { failed: undefined, successful: undefined };
83
+ }
84
+ };
85
+ const sqs = (userConfig) => {
86
+ const { clientConfig, ...config } = {
87
+ ...DEFAULT_AWS_CONFIGURATION,
88
+ ...userConfig,
89
+ };
90
+ const sqsClient = new SQSClient(clientConfig);
91
+ return {
92
+ deleteQueueItem: (queueUrl, receiptHandle) => deleteQueueItem(sqsClient, config, queueUrl, receiptHandle),
93
+ getQueueItems: (queueUrl, maxNumberOfMessages) => getQueueItems(sqsClient, config, queueUrl, maxNumberOfMessages),
94
+ getQueueUrl: (queueName) => getQueueUrl(sqsClient, config, queueName),
95
+ sendBatchMessages: (queueUrl, queueEntries) => sendBatchMessages(sqsClient, config, queueUrl, queueEntries),
96
+ sendMessage: (queueUrl, message, fifoSettings, messageAttributes, messageDelay) => sendMessage(sqsClient, config, queueUrl, message, fifoSettings, messageAttributes, messageDelay),
97
+ };
98
+ };
99
+
100
+ export { sqs as default };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allthings/cloud-toolkit",
3
- "version": "5.2.0-beta.1",
3
+ "version": "5.2.0-beta.2",
4
4
  "description": "",
5
5
  "author": "Allthings GmbH",
6
6
  "keywords": [
@@ -27,16 +27,46 @@
27
27
  "import": "./dist/lib.esm.mjs",
28
28
  "require": "./dist/lib.cjs.js"
29
29
  },
30
+ "./alagarr": {
31
+ "types": "./dist/src/alagarr/index.d.ts",
32
+ "import": "./dist/alagarr.esm.mjs",
33
+ "require": "./dist/alagarr.cjs.js"
34
+ },
30
35
  "./base64": {
31
36
  "types": "./dist/src/base64.d.ts",
32
37
  "import": "./dist/base64.esm.mjs",
33
38
  "require": "./dist/base64.cjs.js"
34
39
  },
40
+ "./dynamodb": {
41
+ "types": "./dist/src/aws/dynamodb.d.ts",
42
+ "import": "./dist/dynamodb.esm.mjs",
43
+ "require": "./dist/dynamodb.cjs.js"
44
+ },
45
+ "./lambda": {
46
+ "types": "./dist/src/aws/lambda.d.ts",
47
+ "import": "./dist/lambda.esm.mjs",
48
+ "require": "./dist/lambda.cjs.js"
49
+ },
50
+ "./logger": {
51
+ "types": "./dist/src/logger/logger.d.ts",
52
+ "import": "./dist/logger.esm.mjs",
53
+ "require": "./dist/logger.cjs.js"
54
+ },
35
55
  "./parameterStore": {
36
56
  "types": "./dist/src/aws/parameterStore.d.ts",
37
57
  "import": "./dist/parameterStore.esm.mjs",
38
58
  "require": "./dist/parameterStore.cjs.js"
39
59
  },
60
+ "./ses": {
61
+ "types": "./dist/src/aws/ses.d.ts",
62
+ "import": "./dist/ses.esm.mjs",
63
+ "require": "./dist/ses.cjs.js"
64
+ },
65
+ "./sqs": {
66
+ "types": "./dist/src/aws/sqs.d.ts",
67
+ "import": "./dist/sqs.esm.mjs",
68
+ "require": "./dist/sqs.cjs.js"
69
+ },
40
70
  "./utils": {
41
71
  "types": "./dist/src/utils.d.ts",
42
72
  "import": "./dist/utils.esm.mjs",
@@ -47,12 +77,30 @@
47
77
  "sideEffects": false,
48
78
  "typesVersions": {
49
79
  "*": {
80
+ "alagarr": [
81
+ "dist/src/alagarr/index.d.ts"
82
+ ],
50
83
  "base64": [
51
84
  "dist/src/base64.d.ts"
52
85
  ],
86
+ "dynamodb": [
87
+ "dist/src/aws/dynamodb.d.ts"
88
+ ],
89
+ "lambda": [
90
+ "dist/src/aws/lambda.d.ts"
91
+ ],
92
+ "logger": [
93
+ "dist/src/logger/logger.d.ts"
94
+ ],
53
95
  "parameterStore": [
54
96
  "dist/src/aws/parameterStore.d.ts"
55
97
  ],
98
+ "ses": [
99
+ "dist/src/aws/ses.d.ts"
100
+ ],
101
+ "sqs": [
102
+ "dist/src/aws/sqs.d.ts"
103
+ ],
56
104
  "utils": [
57
105
  "dist/src/utils.d.ts"
58
106
  ]