@allthings/cloud-toolkit 1.5.0 → 1.5.1-dev.1

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.cjs.js CHANGED
@@ -7,6 +7,7 @@ var clientLambda = require('@aws-sdk/client-lambda');
7
7
  var clientSsm = require('@aws-sdk/client-ssm');
8
8
  var aws = require('@aws-sdk/client-ses');
9
9
  var nodemailer = require('nodemailer');
10
+ var clientSqs = require('@aws-sdk/client-sqs');
10
11
  var winston = require('winston');
11
12
 
12
13
  function _interopNamespaceDefault(e) {
@@ -353,6 +354,83 @@ const ses = (fromEmailAddress, userConfig) => {
353
354
  };
354
355
  };
355
356
 
357
+ const deleteQueueItem = async (sqsClient, config, queueUrl, receiptHandle) => {
358
+ try {
359
+ const deleteMessageCommand = new clientSqs.DeleteMessageCommand({
360
+ QueueUrl: queueUrl,
361
+ ReceiptHandle: receiptHandle,
362
+ });
363
+ const result = await sqsClient.send(deleteMessageCommand);
364
+ return result;
365
+ }
366
+ catch (error) {
367
+ if (config.logger) {
368
+ config.logger('error', error);
369
+ }
370
+ return undefined;
371
+ }
372
+ };
373
+ const getQueueItems = async (sqsClient, config, queueUrl, maxNumberOfMessages = 1) => {
374
+ try {
375
+ const receiveMessageCommand = new clientSqs.ReceiveMessageCommand({
376
+ MaxNumberOfMessages: maxNumberOfMessages,
377
+ QueueUrl: queueUrl,
378
+ });
379
+ const result = await sqsClient.send(receiveMessageCommand);
380
+ return result;
381
+ }
382
+ catch (error) {
383
+ if (config.logger) {
384
+ config.logger('error', error);
385
+ }
386
+ return undefined;
387
+ }
388
+ };
389
+ const getQueueUrl = async (sqsClient, config, queueName) => {
390
+ try {
391
+ const getUrlCommand = new clientSqs.GetQueueUrlCommand({ QueueName: queueName });
392
+ const result = await sqsClient.send(getUrlCommand);
393
+ return result.QueueUrl;
394
+ }
395
+ catch (error) {
396
+ if (config.logger) {
397
+ config.logger('error', error);
398
+ }
399
+ return undefined;
400
+ }
401
+ };
402
+ const sendMessage = async (sqsClient, config, queueUrl, message, messageAttributes, messageDelay = 0) => {
403
+ try {
404
+ const sendMessageCommand = new clientSqs.SendMessageCommand({
405
+ ...(messageAttributes ? { MessageAttributes: messageAttributes } : {}),
406
+ DelaySeconds: messageDelay,
407
+ MessageBody: message,
408
+ QueueUrl: queueUrl,
409
+ });
410
+ const result = await sqsClient.send(sendMessageCommand);
411
+ return result.MessageId;
412
+ }
413
+ catch (error) {
414
+ if (config.logger) {
415
+ config.logger('error', error);
416
+ }
417
+ return undefined;
418
+ }
419
+ };
420
+ const sqs = (userConfig) => {
421
+ const { clientConfig, ...config } = {
422
+ ...DEFAULT_AWS_CONFIGURATION,
423
+ ...userConfig,
424
+ };
425
+ const sqsClient = new clientSqs.SQSClient(clientConfig);
426
+ return {
427
+ deleteQueueItem: (queueUrl, receiptHandle) => deleteQueueItem(sqsClient, config, queueUrl, receiptHandle),
428
+ getQueueItems: (queueUrl, maxNumberOfMessages) => getQueueItems(sqsClient, config, queueUrl, maxNumberOfMessages),
429
+ getQueueUrl: (queueName) => getQueueUrl(sqsClient, config, queueName),
430
+ sendMessage: (queueUrl, message, messageAttributes, messageDelay) => sendMessage(sqsClient, config, queueUrl, message, messageAttributes, messageDelay),
431
+ };
432
+ };
433
+
356
434
  const logger = (config) => {
357
435
  const loggerConfig = {
358
436
  defaultMeta: {
@@ -389,3 +467,4 @@ exports.lambda = lambda;
389
467
  exports.logger = logger;
390
468
  exports.parameterStore = parameterStore;
391
469
  exports.ses = ses;
470
+ exports.sqs = sqs;
package/dist/lib.esm.js CHANGED
@@ -5,6 +5,7 @@ import { LambdaClient, InvokeCommand } from '@aws-sdk/client-lambda';
5
5
  import { SSMClient, GetParametersCommand, GetParameterCommand } from '@aws-sdk/client-ssm';
6
6
  import * as aws from '@aws-sdk/client-ses';
7
7
  import { createTransport } from 'nodemailer';
8
+ import { SQSClient, DeleteMessageCommand, ReceiveMessageCommand, GetQueueUrlCommand, SendMessageCommand } from '@aws-sdk/client-sqs';
8
9
  import { format, createLogger, transports } from 'winston';
9
10
 
10
11
  const DEFAULT_AWS_CONFIGURATION = {
@@ -332,6 +333,83 @@ const ses = (fromEmailAddress, userConfig) => {
332
333
  };
333
334
  };
334
335
 
336
+ const deleteQueueItem = async (sqsClient, config, queueUrl, receiptHandle) => {
337
+ try {
338
+ const deleteMessageCommand = new DeleteMessageCommand({
339
+ QueueUrl: queueUrl,
340
+ ReceiptHandle: receiptHandle,
341
+ });
342
+ const result = await sqsClient.send(deleteMessageCommand);
343
+ return result;
344
+ }
345
+ catch (error) {
346
+ if (config.logger) {
347
+ config.logger('error', error);
348
+ }
349
+ return undefined;
350
+ }
351
+ };
352
+ const getQueueItems = async (sqsClient, config, queueUrl, maxNumberOfMessages = 1) => {
353
+ try {
354
+ const receiveMessageCommand = new ReceiveMessageCommand({
355
+ MaxNumberOfMessages: maxNumberOfMessages,
356
+ QueueUrl: queueUrl,
357
+ });
358
+ const result = await sqsClient.send(receiveMessageCommand);
359
+ return result;
360
+ }
361
+ catch (error) {
362
+ if (config.logger) {
363
+ config.logger('error', error);
364
+ }
365
+ return undefined;
366
+ }
367
+ };
368
+ const getQueueUrl = async (sqsClient, config, queueName) => {
369
+ try {
370
+ const getUrlCommand = new GetQueueUrlCommand({ QueueName: queueName });
371
+ const result = await sqsClient.send(getUrlCommand);
372
+ return result.QueueUrl;
373
+ }
374
+ catch (error) {
375
+ if (config.logger) {
376
+ config.logger('error', error);
377
+ }
378
+ return undefined;
379
+ }
380
+ };
381
+ const sendMessage = async (sqsClient, config, queueUrl, message, messageAttributes, messageDelay = 0) => {
382
+ try {
383
+ const sendMessageCommand = new SendMessageCommand({
384
+ ...(messageAttributes ? { MessageAttributes: messageAttributes } : {}),
385
+ DelaySeconds: messageDelay,
386
+ MessageBody: message,
387
+ QueueUrl: queueUrl,
388
+ });
389
+ const result = await sqsClient.send(sendMessageCommand);
390
+ return result.MessageId;
391
+ }
392
+ catch (error) {
393
+ if (config.logger) {
394
+ config.logger('error', error);
395
+ }
396
+ return undefined;
397
+ }
398
+ };
399
+ const sqs = (userConfig) => {
400
+ const { clientConfig, ...config } = {
401
+ ...DEFAULT_AWS_CONFIGURATION,
402
+ ...userConfig,
403
+ };
404
+ const sqsClient = new SQSClient(clientConfig);
405
+ return {
406
+ deleteQueueItem: (queueUrl, receiptHandle) => deleteQueueItem(sqsClient, config, queueUrl, receiptHandle),
407
+ getQueueItems: (queueUrl, maxNumberOfMessages) => getQueueItems(sqsClient, config, queueUrl, maxNumberOfMessages),
408
+ getQueueUrl: (queueName) => getQueueUrl(sqsClient, config, queueName),
409
+ sendMessage: (queueUrl, message, messageAttributes, messageDelay) => sendMessage(sqsClient, config, queueUrl, message, messageAttributes, messageDelay),
410
+ };
411
+ };
412
+
335
413
  const logger = (config) => {
336
414
  const loggerConfig = {
337
415
  defaultMeta: {
@@ -361,4 +439,4 @@ const logger = (config) => {
361
439
  });
362
440
  };
363
441
 
364
- export { DEFAULT_CLIENT_CONFIG$1 as DEFAULT_PARAMETER_STORE_CLIENT_CONFIG, DEFAULT_CLIENT_CONFIG as DEFAULT_SES_CLIENT_CONFIG, dynamodb, lambda, logger, parameterStore, ses };
442
+ export { DEFAULT_CLIENT_CONFIG$1 as DEFAULT_PARAMETER_STORE_CLIENT_CONFIG, DEFAULT_CLIENT_CONFIG as DEFAULT_SES_CLIENT_CONFIG, dynamodb, lambda, logger, parameterStore, ses, sqs };