-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
50 lines (46 loc) · 1.31 KB
/
index.js
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
const aws = require("aws-sdk");
const ses = new aws.SES();
const dynamo = new aws.DynamoDB.DocumentClient();
aws.config.update({ region: "us-east-1" });
exports.handler = (event, context, callback) => {
var message = JSON.parse(event.Records[0].Sns.Message);
var uniqueKey = message.Email + message.QuesId + message.AnsId + message.Action + message.Answer;
var searchParams = {
TableName: "csye6225",
Key: {
email_id: uniqueKey
}
};
var dynamoparams = {
Item: {
email_id: uniqueKey
},
TableName: "csye6225"
};
dynamo.get(searchParams, function (error, result) {
if (error) {
} else {
if (!result.Item) {
dynamo.put(dynamoparams, function (error, data) {
if (error) {
}
else {
var params = {
Destination: {
ToAddresses: [message.Email],
},
Message: {
Body: {
Text: { Data: "Question URL " + message.QuesURL + "\n" + "Answer URL " + message.AnswerURL },
},
Subject: { Data: message.Action + "for Question Id : " + message.QuesId },
},
Source: message.Domain,
};
return ses.sendEmail(params).promise();
}
});
}
}
});
};