UNPKG

@gravitywelluk/aws

Version:

Library of commonly used AWS wrapper functions to communicate with the AWS SDK

42 lines (41 loc) 1.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.addJobToQueue = void 0; const sqs_configure_1 = require("./sqs-configure"); const get_queue_url_1 = require("./get-queue-url"); const aws_error_1 = require("../utils/aws-error"); const addJobToQueue = (processJobId, jobData, userId, queueName, configOverrides = {}) => { return new Promise((resolve, reject) => { try { const awsSQS = (0, sqs_configure_1.sqsConfigure)(configOverrides); (0, get_queue_url_1.getQueueUrl)(queueName, configOverrides) .then(queueUrl => { awsSQS.sendMessage({ QueueUrl: queueUrl, MessageBody: JSON.stringify({ processJobId, data: jobData }), MessageAttributes: userId ? { userId: { StringValue: userId.toString(), DataType: "String" } } : undefined }, (error, data) => { if (error) { return reject(new aws_error_1.AwsError(error)); } return resolve(data); }); }) .catch(error => { return reject(new aws_error_1.AwsError(error)); }); } catch (error) { return reject(error); } }); }; exports.addJobToQueue = addJobToQueue;