Last active
October 8, 2015 08:15
-
-
Save dsernst/05ffac35cf294d92d994 to your computer and use it in GitHub Desktop.
Code to calculate weekly 'stache growth
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* eslint-env node */ | |
module['exports'] = function echoHttp (hook) { | |
console.log('hook.req', hook.req.method) | |
// console.log('hook.params', hook.params['attachment-1']['body-plain']) | |
console.log('hook.params', hook.params) | |
if (hook.req.method === 'POST') { | |
console.log('in POST request') | |
} | |
hook.res.end(JSON.stringify(hook.params, true, '\t')) | |
} | |
var _ = require('lodash') | |
// var users = _.indexBy(require('./users.js'), 'emailAddress') | |
// var mg = new Mailgun(process.env.MAILGUN_KEY) | |
function parseEmail(reqBody) { | |
var emailAddress = reqBody.sender | |
var body = reqBody['body-plain'] | |
// console.log(body) | |
var weeklySpentPrefix = 'You spent $' | |
var weeklySpentSuffix = ' over the past 7 days.' | |
var weeklySpent = body.split(weeklySpentPrefix)[1].split(weeklySpentSuffix)[0] | |
console.log('emailAddress:', emailAddress) | |
console.log('weeklySpent:', weeklySpent) | |
//getStats(emailAddress, weeklySpent) | |
} | |
function getStats(emailAddress, weeklySpent) { | |
var user = users[emailAddress] | |
if (_.isUndefined(user)) { | |
console.error('User ' + emailAddress + ' not found.') | |
return | |
} | |
console.log('user:', user) | |
var percentageSaved = (user.weeklyIncome - weeklySpent) / user.weeklyIncome | |
percentageSaved = _.round(percentageSaved * 100) | |
console.log('percentageSaved:', percentageSaved + '%') | |
//sendMessage(user.deliveryAddress, percentageSaved) | |
} | |
function sendMessage(recipient, percentageSaved) { | |
mg.sendText( | |
'auto@stache.dsernst.com', | |
recipient, | |
'Stache Calculator', | |
'You saved ' + percentageSaved + '% last week.', | |
function (err) { | |
if (err) { | |
console.error(err) | |
} else { | |
console.log('mg.sendText successful.') | |
} | |
} | |
) | |
} | |
// parseEmail(require('./sample-body.js')) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment