-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathhelper.js
More file actions
76 lines (64 loc) · 2.11 KB
/
Copy pathhelper.js
File metadata and controls
76 lines (64 loc) · 2.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/**
*
* +----------------------------------+
* | Thiago Vacare |
* | 01/2018 |
* +----------------------------------+
*
* */
"use strict";
const Nodemailer = require('nodemailer');
const Nunjucks = require('nunjucks');
require('dotenv').config();
const sqsQueue = process.env.SQS_QUEUE;
module.exports = {
getSQSMessage: (SQS) => {
return SQS.receiveMessage({
QueueUrl: sqsQueue,
WaitTimeSeconds: process.env.SQS_WAIT_TIME,
MaxNumberOfMessages: process.env.SQS_MAX_MESSAGES
}).promise()
},
deleteSQSMessage: (SQS, receiptHandle) => {
const params = {
QueueUrl: sqsQueue,
ReceiptHandle: receiptHandle
};
return SQS.deleteMessage(params)
.promise()
.then((msg) => {
console.log('Message deleted', msg);
});
},
sendSNSEmail: (mailTo, subject, template) => {
const transporter = Nodemailer.createTransport({
host: process.env.SES_SMTP_HOST,
port: process.env.SES_SMTP_PORT,
secure: process.env.SES_SMTP_SECURE,
auth: {
user: process.env.SES_SMTP_USER,
pass: process.env.SES_SMTP_PASS
}
});
const mailOptions = {
from: `${process.env.SES_EMAIL_FROM_ALIAS}<${process.env.SES_EMAIL_FROM}>`,
to: mailTo,
subject: subject,
html: template
};
console.log('Sending email');
return transporter.sendMail(mailOptions).then(() => console.log('Email was sent'));
},
getSESTemplate: (SES, templateName, token) => {
const baseUrl = process.env.BASE_URL;
const protocol = process.env.PROTOCOL;
return SES.getTemplate({TemplateName: templateName})
.promise()
.then(response => {
const template = response.Template ? response.Template.HtmlPart : null;
if (template) {
return Nunjucks.renderString(template, {protocol, baseUrl, token});
}
})
}
};