var express = require('express');
+var router = new express.Router();
+var user = require('../controllers/user');
+var groups = require('../controllers/groups');
+var auth = require('../controllers/auth');
+
+
+
+var verifyTaskExists = user.verifyTaskExists
+var cron = user.cron;
+
+router.get('/status', function(req, res) {
+ return res.json({
+ status: 'up'
+ });
+});
+
+
+router.post('/user/task/:id/:direction', auth.auth, cron, user.scoreTask);
+router.post('/user/tasks/:id/:direction', auth.auth, cron, user.scoreTask);
+
+
+router.get('/user/tasks', auth.auth, cron, user.getTasks);
+router.get('/user/task/:id', auth.auth, cron, user.getTask);
+router.put('/user/task/:id', auth.auth, cron, verifyTaskExists, user.updateTask);
+router.post('/user/tasks', auth.auth, cron, user.updateTasks);
+router["delete"]('/user/task/:id', auth.auth, cron, verifyTaskExists, user.deleteTask);
+router.post('/user/task', auth.auth, cron, user.createTask);
+router.put('/user/task/:id/sort', auth.auth, cron, verifyTaskExists, user.sortTask);
+router.post('/user/clear-completed', auth.auth, cron, user.clearCompleted);
+
+
+router.post('/user/buy/:type', auth.auth, cron, user.buy);
+
+
+router.get('/user', auth.auth, cron, user.getUser);
+router.put('/user', auth.auth, cron, user.updateUser);
+router.post('/user/revive', auth.auth, cron, user.revive);
+router.post('/user/batch-update', auth.auth, cron, user.batchUpdate);
+router.post('/user/reroll', auth.auth, cron, user.reroll);
+router.post('/user/buy-gems', auth.auth, user.buyGems);
+router.post('/user/reset', auth.auth, user.reset);
+router['delete']('/user', auth.auth, user['delete']);
+
+
+router['delete']('/user/tags/:tid', auth.auth, user.deleteTag);
+
+
+router.get('/groups', auth.auth, groups.getGroups);
+router.post('/groups', auth.auth, groups.createGroup);
+router.get('/groups/:gid', auth.auth, groups.getGroup);
+router.post('/groups/:gid', auth.auth, groups.attachGroup, groups.updateGroup);