From 4e7afcbe94e66d1d2ccb7d9724d023b01b647a74 Mon Sep 17 00:00:00 2001 From: Matteo Pagliazzi Date: Wed, 1 Jul 2015 18:59:51 +0200 Subject: [PATCH] feat(amazon-payments): add a lastBillingDate attribute --- website/src/controllers/payments/index.js | 5 ++++- website/src/models/user.js | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/website/src/controllers/payments/index.js b/website/src/controllers/payments/index.js index 4df621fe12..8f1144cbcc 100644 --- a/website/src/controllers/payments/index.js +++ b/website/src/controllers/payments/index.js @@ -53,7 +53,10 @@ exports.createSubscription = function(data, cb) { paymentMethod: data.paymentMethod, extraMonths: +p.extraMonths + +(p.dateTerminated ? moment(p.dateTerminated).diff(new Date(),'months',true) : 0), - dateTerminated: null + dateTerminated: null, + // Specify a lastBillingDate just for Amazon Payments + // Resetted every time the subscription restarts + lastBillingDate: data.paymentMethod === 'Amazon Payments' ? new Date() : undefined }).defaults({ // allow non-override if a plan was previously used dateCreated: new Date(), mysteryItems: [] diff --git a/website/src/models/user.js b/website/src/models/user.js index 88bc8e251f..62695f1bd8 100644 --- a/website/src/models/user.js +++ b/website/src/models/user.js @@ -109,6 +109,7 @@ var UserSchema = new Schema({ extraMonths: {type:Number, 'default':0}, gemsBought: {type: Number, 'default': 0}, mysteryItems: {type: Array, 'default': []}, + lastBillingDate: Date, // Used only for Amazon Payments to keep track of billing date consecutive: { count: {type:Number, 'default':0}, offset: {type:Number, 'default':0}, // when gifted subs, offset++ for each month. offset-- each new-month (cron). count doesn't ++ until offset==0