@gravitywelluk/aws
Version:
Library of commonly used AWS wrapper functions to communicate with the AWS SDK
42 lines (41 loc) • 1.57 kB
JavaScript
;
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;