Skip to content

Instantly share code, notes, and snippets.

@pbochynski
Last active July 9, 2019 21:03
Show Gist options
  • Save pbochynski/9cfbb32e22f219b128bf5dbce5c3e921 to your computer and use it in GitHub Desktop.
Save pbochynski/9cfbb32e22f219b128bf5dbce5c3e921 to your computer and use it in GitHub Desktop.
Review lambda code
const Sentiment = require('sentiment');
const sentiment = new Sentiment();
const axios = require("axios");
module.exports = {
main: async function (event, context) {
let status = "hold";
console.log("Event data: %s",JSON.stringify(event.data));
let comment = await getComment(event.data.commentId);
console.log("Comment: %s",comment.content.raw);
let result = sentiment.analyze(comment.content.raw);
console.log("Sentiment: %s",JSON.stringify(result));
let score = result.comparative;
if (score>0.2) {
status = "approved"
}
updateComment(comment.id, status, comment.content.raw, score);
}
};
async function getComment(id) {
let commentUrl = `${process.env.WP_GATEWAY_URL}/wp/v2/comments/${id}?context=edit`
let response = await axios.get(commentUrl);
return response.data;
}
async function updateComment(id, status, comment, score) {
let commentUrl = `${process.env.WP_GATEWAY_URL}/wp/v2/comments/${id}`;
const update = await axios.post(commentUrl,{status:status, content:comment+"\n--\nscore:"+score});
return update;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment