add revive & cron to routes, add cron as interceptor to every API call

This commit is contained in:
Tyler Renelle 2013-08-12 20:06:30 -04:00
parent 61d0f51de7
commit 552eabfef8
2 changed files with 17 additions and 19 deletions

View file

@ -353,8 +353,6 @@ api.batchUpdate = (req, res, next) ->
req.body = action.data
switch action.op
when "cron"
api.cron(req, res, cb)
when "score"
api.scoreTask(req, res, cb)
when "sortTask"
@ -372,8 +370,7 @@ api.batchUpdate = (req, res, next) ->
else cb()
# Setup the array of functions we're going to call in parallel with async
actions = [{op: 'cron'}].concat(_.cloneDeep(req.body) ? []) # Start with cron
actions = _.transform (actions), (result, action) ->
actions = _.transform (req.body ? []), (result, action) ->
unless _.isEmpty(action)
result.push (cb) -> performAction(action, cb)

View file

@ -12,7 +12,7 @@ api = require './api'
$ mocha test/api.mocha.coffee
###
{auth, validateTask} = api
{auth, validateTask, cron} = api
###
We don't want the api functions to actually res.send results (unless there was an error)
@ -29,23 +29,24 @@ v1Send = (req, res, next) ->
router.get '/status', (req, res) -> res.json status: 'up'
# Scoring
router.post '/user/task/:id/:direction', auth, api.scoreTask, v1Send
router.post '/user/tasks/:id/:direction', auth, api.scoreTask, v1Send
router.post '/user/task/:id/:direction', auth, cron, api.scoreTask, v1Send
router.post '/user/tasks/:id/:direction', auth, cron, api.scoreTask, v1Send
# Tasks
router.get '/user/tasks', auth, api.getTasks, v1Send # plural
router.get '/user/task/:id', auth, api.getTask, v1Send
router.put '/user/task/:id', auth, validateTask, api.updateTask, v1Send
router.post '/user/tasks', auth, api.updateTasks, v1Send # plural
router.delete '/user/task/:id', auth, validateTask, api.deleteTask, v1Send
router.post '/user/task', auth, validateTask, api.createTask, v1Send
router.put '/user/task/:id/sort', auth, validateTask, api.sortTask, v1Send
router.get '/user/tasks', auth, cron, api.getTasks, v1Send # plural
router.get '/user/task/:id', auth, cron, api.getTask, v1Send
router.put '/user/task/:id', auth, cron, validateTask, api.updateTask, v1Send
router.post '/user/tasks', auth, cron, api.updateTasks, v1Send # plural
router.delete '/user/task/:id', auth, cron, validateTask, api.deleteTask, v1Send
router.post '/user/task', auth, cron, validateTask, api.createTask, v1Send
router.put '/user/task/:id/sort', auth, cron, validateTask, api.sortTask, v1Send
# User
router.get '/user', auth, api.getUser, v1Send
router.post '/user/auth/local', api.loginLocal, v1Send
router.post '/user/auth/facebook', api.loginFacebook, v1Send
router.put '/user', auth, api.updateUser, v1Send
router.post '/user/batch-update', auth, api.batchUpdate # this one we're handling specially
router.get '/user', auth, cron, api.getUser, v1Send
router.post '/user/auth/local', api.loginLocal, v1Send
router.post '/user/auth/facebook', api.loginFacebook, v1Send
router.put '/user', auth, cron, api.updateUser, v1Send
router.post '/user/revive', auth, cron, api.revive, v1Send
router.post '/user/batch-update', auth, cron, api.batchUpdate # this one we're handling specially
module.exports = router