summaryrefslogtreecommitdiff
path: root/server/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'server/index.js')
-rw-r--r--server/index.js45
1 files changed, 40 insertions, 5 deletions
diff --git a/server/index.js b/server/index.js
index c2df4ca..237355d 100644
--- a/server/index.js
+++ b/server/index.js
@@ -16,11 +16,13 @@ var http = require('http'),
MongoStore = require('connect-mongo')(express),
passport = require('passport'),
path = require('path'),
- mongoose = require('mongoose');
+ mongoose = require('mongoose'),
+ methodOverride = require('method-override');
var app = express()
var server
-var DATABASE_URI = process.env.MONGOLAB_URI || ('mongodb://localhost/vvalls')
+// var DATABASE_URI = process.env.MONGOLAB_URI || ('mongodb://localhost/vvalls')
+var DATABASE_URI = process.env.MONGOLAB_URI || ('mongodb://' + config.databaseHost + '/vvalls')
//
@@ -39,6 +41,7 @@ site.ready = function(){
site.setup = function(){
var SessionStore = new MongoStore({ mongoose_connection: mongoose.connection })
+ // auth.initBasicAuth(app)
app.set('port', config.port);
app.set('views', path.join(__dirname, '../views'));
app.set('view engine', 'ejs');
@@ -57,30 +60,41 @@ site.setup = function(){
app.use(multer());
app.use(express.query());
app.use(express.csrf());
- app.use(express.methodOverride());
+ app.use(methodOverride('X-HTTP-Method-Override'))
app.use(passport.initialize());
app.use(passport.session());
app.use(app.router);
app.set('trust proxy', true)
+ app.set('env', config.env.production ? "production" : "development")
app.get('env') === 'development' && app.use(express.errorHandler());
+ if (config.env.production) {
+ app.set('json spaces', 0)
+ }
+
// Essential middleware
// app.all('*', middleware.enableCORS);
app.all('*', middleware.ensureLocals);
+ app.all('*', middleware.ensureIP);
server = http.createServer(app)
server.listen(app.get('port'), function () {
- console.log('Express server listening on port ' + app.get('port'));
+ console.log('VValls server listening on port ' + app.get('port'));
});
// var io = websocket.listen(server)
// auth.initSockets(io, SessionStore)
+
+ middleware.updatePlans()
}
site.route = function () {
app.get('/', views.home);
+ app.get('/home', views.demoHome);
app.get('/login', views.modal);
app.get('/logout', auth.logout);
+ app.get('/signin', views.modal);
+ app.get('/signout', auth.logout);
app.get('/signup', views.modal);
app.post('/auth/signin', auth.loggedInLocal);
app.post('/auth/signup', auth.signup);
@@ -97,6 +111,7 @@ site.route = function () {
app.get('/profile', views.profile)
app.get('/profile/edit', views.profile)
+ app.get('/profile/billing', views.profile)
app.get('/profile/:username', views.profile)
app.get('/about', views.docs);
@@ -114,6 +129,9 @@ site.route = function () {
app.get('/layout', middleware.ensureAuthenticated, middleware.ensureIsStaff, views.modal)
app.get('/layout/:name', middleware.ensureAuthenticated, middleware.ensureIsStaff, views.builder)
+ app.get('/blueprint', middleware.ensureAuthenticated, middleware.ensureIsStaff, views.blueprint)
+ app.get('/blueprint/:name', middleware.ensureAuthenticated, middleware.ensureIsStaff, views.blueprint)
+
app.get('/join/:nonce', middleware.ensureAuthenticated, api.collaborator.join)
app.get('/api/collaborator/:slug/index', middleware.ensureAuthenticated, middleware.ensureProject, api.collaborator.index)
app.post('/api/collaborator/:slug/create', middleware.ensureAuthenticated, middleware.ensureProject, api.collaborator.create)
@@ -122,17 +140,19 @@ site.route = function () {
app.get('/project', middleware.ensureAuthenticated, views.modal)
app.get('/project/new', middleware.ensureAuthenticated, views.modal)
app.get('/project/new/:layout', middleware.ensureAuthenticated, views.editor_new)
+ app.get('/project/blueprint/:layout', middleware.ensureAuthenticated, views.editor_new)
app.get('/project/:slug', middleware.ensureProject, middleware.ensureIsCollaborator, views.reader)
app.get('/project/:slug/view', middleware.ensureProject, middleware.ensureIsCollaborator, views.reader)
app.get('/project/:slug/edit', middleware.ensureProject, middleware.ensureIsCollaborator, views.editor)
- app.get('/api/layout', middleware.ensureAuthenticated, api.layouts.index)
+ app.get('/api/layout', middleware.ensureAuthenticated, middleware.ensureUserProjectsCount, middleware.ensureUserLayoutsCount, api.layouts.index)
app.get('/api/layout/:slug', middleware.ensureAuthenticated, api.layouts.show)
app.post('/api/layout/new', middleware.ensureAuthenticated, middleware.ensureIsStaff, api.layouts.create)
app.post('/api/layout/edit', middleware.ensureAuthenticated, middleware.ensureIsStaff, api.layouts.update)
app.delete('/api/layout/destroy', middleware.ensureAuthenticated, middleware.ensureIsStaff, api.layouts.destroy)
app.get('/api/project', middleware.ensureAuthenticated, api.projects.index)
+ app.get('/api/project/paginate', views.projectsPaginate)
app.get('/api/project/:slug', api.projects.show)
app.get('/api/rooms/:slug', api.rooms.show)
app.post('/api/project/new', middleware.ensureAuthenticated, api.projects.create)
@@ -144,6 +164,21 @@ site.route = function () {
app.post('/api/media/upload', middleware.ensureAuthenticated, api.media.upload)
app.delete('/api/media/destroy', middleware.ensureAuthenticated, api.media.destroy)
+ app.post('/api/blueprint/new', middleware.ensureAuthenticated, api.blueprint.create)
+ app.post('/api/blueprint/upload', middleware.ensureAuthenticated, api.blueprint.upload)
+ app.get('/api/blueprint/user/:slug', middleware.ensureAuthenticated, api.blueprint.show)
+ app.get('/api/blueprint/user', middleware.ensureAuthenticated, api.blueprint.user)
+ app.post('/api/blueprint/scale', middleware.ensureAuthenticated, api.blueprint.scale)
+ app.post('/api/blueprint/edit', middleware.ensureAuthenticated, api.blueprint.update)
+ app.delete('/api/blueprint/destroy', middleware.ensureAuthenticated, api.blueprint.destroy)
+
+ app.get('/api/subscription', middleware.ensureAuthenticated, api.subscription.middleware.ensurePlans, api.subscription.middleware.ensureSubscription, api.subscription.show)
+ app.put('/api/subscription', middleware.ensureAuthenticated, api.subscription.middleware.ensureSubscription, api.subscription.update)
+ app.put('/api/subscription/sync', middleware.ensureAuthenticated, api.subscription.middleware.ensurePlans, api.subscription.middleware.ensureSubscription, api.subscription.sync)
+ app.delete('/api/subscription/destroy', middleware.ensureAuthenticated, api.subscription.middleware.ensureSubscription, api.subscription.destroy)
+
+ app.get('/partials/plans', views.partials.plans)
+
app.get('/test/*', middleware.ensureAuthenticated, middleware.ensureIsStaff, views.modal)
views.staff.route(app)