summaryrefslogtreecommitdiff
path: root/server/lib
diff options
context:
space:
mode:
Diffstat (limited to 'server/lib')
-rw-r--r--server/lib/api/subscription.js1
-rw-r--r--server/lib/schemas/Subscription.js1
-rw-r--r--server/lib/schemas/User.js1
-rw-r--r--server/lib/views/staff/middleware.js2
-rw-r--r--server/lib/webhook/webhook.js24
5 files changed, 22 insertions, 7 deletions
diff --git a/server/lib/api/subscription.js b/server/lib/api/subscription.js
index 9c2d6ef..c2fff4c 100644
--- a/server/lib/api/subscription.js
+++ b/server/lib/api/subscription.js
@@ -16,6 +16,7 @@ var plan_levels = {
free: 0,
basic: 1,
pro: 2,
+ custom: 3,
}
var subscription = module.exports = {
diff --git a/server/lib/schemas/Subscription.js b/server/lib/schemas/Subscription.js
index 355bbe2..bf43e8b 100644
--- a/server/lib/schemas/Subscription.js
+++ b/server/lib/schemas/Subscription.js
@@ -9,6 +9,7 @@ var mongoose = require('mongoose'),
var SubscriptionSchema = new mongoose.Schema({
user_id: { type: mongoose.Schema.ObjectId, index: true },
+ plan_code: { type: String, default: "" },
plan_type: { type: String, default: "free" },
plan_period: { type: String, default: "monthly" },
diff --git a/server/lib/schemas/User.js b/server/lib/schemas/User.js
index 4b6ff39..e6e7f03 100644
--- a/server/lib/schemas/User.js
+++ b/server/lib/schemas/User.js
@@ -55,6 +55,7 @@ var UserSchema = new mongoose.Schema({
default: "",
},
+ plan_code: { type: String, default: "" },
plan_level: { type: Number, default: 0 },
plan_type: { type: String, default: "free" },
last_charged: { type: Date, default: null },
diff --git a/server/lib/views/staff/middleware.js b/server/lib/views/staff/middleware.js
index 5c74d0b..1ea98e9 100644
--- a/server/lib/views/staff/middleware.js
+++ b/server/lib/views/staff/middleware.js
@@ -40,7 +40,7 @@ var middleware = module.exports = {
}
if (initial) {
if (initial == "?") {
- criteria.username = new RegExp('^[$a-zA-Z]', "i")
+ criteria.username = new RegExp('^[^a-zA-Z]', "i")
}
else {
criteria.username = new RegExp('^' + initial, "i")
diff --git a/server/lib/webhook/webhook.js b/server/lib/webhook/webhook.js
index 58a13ca..bd51dac 100644
--- a/server/lib/webhook/webhook.js
+++ b/server/lib/webhook/webhook.js
@@ -26,10 +26,11 @@ var xml_bodyparser = require('express-xml-bodyparser');
var parser = new xml2js.Parser();
var subscribe = module.exports = {
- plan_level: {
+ plan_levels: {
free: 0,
basic: 1,
pro: 2,
+ custom: 3,
},
callbacks: {
@@ -62,19 +63,30 @@ var subscribe = module.exports = {
Subscription.findOne({ "uuid": uuid }, function(err, old_subscriber){
// if (err) return;
- var plan = subscrip.plan[0].plan_code[0].split("-")
- var plan_type = plan[0]
- var plan_period = plan[1]
+ var plan, plan_type, plan_code
+ var plan_code = subscrip.plan[0].plan_code[0]
+ if (plan_code.indexOf("-") !== -1) {
+ plan = plan_code.split("-")
+ plan_type = plan[0]
+ plan_period = plan[1]
+ }
+ else {
+ plan_type = "custom"
+ plan_period = "monthly"
+ }
+
+ user.plan_code = plan_code
user.plan_type = plan_type
- user.plan_level = subscribe.plan_level[plan_type]
+ user.plan_level = subscribe.plan_levels[plan_type]
var subscriber = old_subscriber || new Subscription ()
subscriber.uuid = uuid
subscriber.user_id = user._id
+ subscriber.plan_code = plan_code
subscriber.plan_type = plan_type
subscriber.plan_period = plan_period
- subscriber.plan_level = subscribe.plan_level[plan_type]
+ subscriber.plan_level = subscribe.plan_levels[plan_type]
subscriber.add_ons = []
var add_ons = subscrip.subscription_add_ons[0].subscription_add_on
if (add_ons) {