summaryrefslogtreecommitdiff
path: root/server/lib
diff options
context:
space:
mode:
Diffstat (limited to 'server/lib')
-rw-r--r--server/lib/api/layouts.js11
-rw-r--r--server/lib/middleware.js16
2 files changed, 25 insertions, 2 deletions
diff --git a/server/lib/api/layouts.js b/server/lib/api/layouts.js
index 641e9e2..7e7976c 100644
--- a/server/lib/api/layouts.js
+++ b/server/lib/api/layouts.js
@@ -3,13 +3,22 @@
var _ = require('lodash'),
util = require('../util'),
upload = require('../upload'),
+ middleware = require('../middleware'),
config = require('../../../config.json'),
Layout = require('../schemas/Layout');
var layouts = {
index: function(req, res){
+ // free layouts
+ // user layouts
Layout.find({}, function(err, docs){
- res.json(docs)
+ res.json({
+ layouts: docs,
+ plan: middleware.plans[ res.locals.user.plan_level || 0 ],
+ user: res.locals.user,
+ layoutCount: res.locals.layoutCount,
+ projectCount: res.locals.projectCount,
+ })
})
},
diff --git a/server/lib/middleware.js b/server/lib/middleware.js
index 35c520c..9d09a10 100644
--- a/server/lib/middleware.js
+++ b/server/lib/middleware.js
@@ -7,6 +7,7 @@ var passport = require('passport'),
User = require('./schemas/User'),
Collaborator = require('./schemas/Collaborator'),
Project = require('./schemas/Project'),
+ Layout = require('./schemas/Layout'),
Plan = require('./schemas/Plan');
@@ -63,7 +64,20 @@ var middleware = {
res.locals.opt = {}
next()
},
-
+
+ ensureUserProjectsCount: function(req, res, next){
+ Project.count({ user_id: req.user.id }, function(err, count){
+ res.locals.projectCount = count || 0
+ next()
+ })
+ },
+ ensureUserLayoutsCount: function(req, res, next){
+ Layout.count({ user_id: req.user.id }, function(err, count){
+ res.locals.layoutCount = count || 0
+ next()
+ })
+ },
+
ensureProject: function (req, res, next) {
if (req.params.slug) {
Project.findOne({ slug: req.params.slug }, function(err, project){