summaryrefslogtreecommitdiff
path: root/server/lib/views/subscription.js
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2015-01-12 18:38:42 -0500
committerJules Laplace <jules@okfoc.us>2015-01-12 18:38:42 -0500
commit034f8343f2d194c2b1e3dbb20cfb8658e2795ce0 (patch)
treefcf9c9aa6ea86166cb276ef9dcd4fa1a5b358ede /server/lib/views/subscription.js
parentc001c7b37d35c351ad61ffcefe0e535e88e2e3d3 (diff)
parsing some xml for webhooks
Diffstat (limited to 'server/lib/views/subscription.js')
-rw-r--r--server/lib/views/subscription.js81
1 files changed, 72 insertions, 9 deletions
diff --git a/server/lib/views/subscription.js b/server/lib/views/subscription.js
index e29e40d..251e217 100644
--- a/server/lib/views/subscription.js
+++ b/server/lib/views/subscription.js
@@ -6,7 +6,15 @@ var User = require('../schemas/User'),
middleware = require('../middleware'),
util = require('../util'),
_ = require('lodash'),
- moment = require('moment');
+ moment = require('moment'),
+ xml2js = require('xml2js');
+
+var parser = new xml2js.Parser();
+// fs.readFile('./foo.xml', function(err, data) {
+// parser.parseString(data, function (err, result) {
+// console.log(inspect(result, { colors: true, depth: Infinity }));
+// });
+// });
var subscription = module.exports = {
@@ -24,18 +32,73 @@ var subscription = module.exports = {
middleware: {
},
- helpers: {
- project: function(project){
- project = project.toObject()
- project.date = moment( project.updated_at || project.created_at ).format("M/DD/YYYY hh:mm a")
- project.user = {}
- return project
- },
- },
+ fields: [
+ "new_account_notification",
+ "canceled_account_notification",
+ "billing_info_updated_notification",
+ "reactivated_account_notification",
+ "new_invoice_notification",
+ "closed_invoice_notification",
+ "past_due_invoice_notification",
+ "new_subscription_notification",
+ "updated_subscription_notification",
+ "canceled_subscription_notification",
+ "expired_subscription_notification",
+ "renewed_subscription_notification",
+ "successful_payment_notification",
+ "failed_payment_notification",
+ "successful_refund_notification",
+ "void_payment_notification",
+ ],
+
+ callbacks: {
+ // accounts
+ new_account_notification: function(data){
+ },
+ canceled_account_notification: function(data){
+ },
+ billing_info_updated_notification: function(data){
+ },
+ reactivated_account_notification: function(data){
+ },
+
+ // invoices
+ new_invoice_notification: function(data){
+ },
+ closed_invoice_notification: function(data){
+ },
+ past_due_invoice_notification: function(data){
+ },
+
+ // subscriptions
+ new_subscription_notification: function(data){
+ },
+ updated_subscription_notification: function(data){
+ },
+ canceled_subscription_notification: function(data){
+ },
+ expired_subscription_notification: function(data){
+ },
+ renewed_subscription_notification: function(data){
+ },
+
+ // payments
+ successful_payment_notification: function(data){
+ },
+ failed_payment_notification: function(data){
+ },
+ successful_refund_notification: function(data){
+ },
+ void_payment_notification: function(data){
+ },
+ },
// need a route for the webhook,
// then calls to get appropriate info from the recurly api
webhook: function(req, res){
res.status(200).end()
+ parser.parseString(data, function (err, result) {
+ console.log(inspect(result, { colors: true, depth: Infinity }));
+ });
},
}