aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/config/routes.js
diff options
context:
space:
mode:
Diffstat (limited to 'config/routes.js')
-rw-r--r--config/routes.js73
1 files changed, 73 insertions, 0 deletions
diff --git a/config/routes.js b/config/routes.js
new file mode 100644
index 0000000..8ba83a9
--- /dev/null
+++ b/config/routes.js
@@ -0,0 +1,73 @@
+
+/**
+ * Dependencies
+ */
+
+var users = require('../app/controllers/users')
+ , system = require('../app/controllers/system');
+
+
+/*
+ * ============================================================
+ * Routes
+ *
+ */
+
+module.exports = function(app, passport, auth) {
+ app.get('/', system.index);
+
+ app.get('/faq', system.faq);
+
+ app.get('/contact', system.contact);
+
+ app.post('/login', passport.authenticate('local', { failureRedirect: '/' }), users.signin);
+
+ app.get('/signup', users.signup);
+
+ app.post('/signup', users.create);
+
+ app.get('/auth/facebook', passport.authenticate('facebook', { failureRedirect: '/' }), users.signin);
+ app.get('/auth/facebook/callback', passport.authenticate('facebook', { failureRedirect: '/' }), users.authCallback);
+
+ app.get('/auth/twitter', passport.authenticate('twitter', { failureRedirect: '/' }), users.signin);
+ app.get('/auth/twitter/callback', passport.authenticate('twitter', { failureRedirect: '/' }), users.authCallback);
+
+ app.get('/invite/:randomToken', users.claimInvite);
+
+ app.post('/invite/:randomToken', users.postClaimInvite);
+
+ app.get('/logout', users.logout);
+
+ app.get('/login/:hash', passport.authenticate('hash', { failureRedirect: '/'}), users.randomLogin);
+
+ /**
+ * REQUIRES LOGIN
+ * ============================================================
+ */
+
+
+ app.get('/dashboard', auth.requiresLogin, system.dashboard);
+
+ app.get('/registerEmail', auth.requiresLogin, users.registerEmail);
+
+ app.post('/registerEmail', auth.requiresLogin, users.postRegisterEmail);
+
+ app.get('/project', auth.requiresLogin, system.project);
+
+ app.get('/project/new', auth.requiresLogin, system.newProject);
+
+ app.post('/project/new', auth.requiresLogin, system.postNewProject);
+
+ app.get('/project/:short', auth.requiresLogin, system.project);
+
+ app.get('/project/:short/post', auth.requiresLogin, system.projectPost);
+
+ app.post('/project/:short/post', auth.requiresLogin, system.postProjectPost);
+
+ app.get('/project/:short/participants', auth.requiresLogin, system.projectParticipants);
+
+ app.post('/project/:short/participants', auth.requiresLogin, users.postProjectParticipants); // goes to the usercontroller because participants are users
+
+ app.get('/project/:short/delete/:post', auth.requiresLogin, system.deleteProjectPost);
+
+};