From 30a3e46f20b576000c77611a9f80e987e004bd17 Mon Sep 17 00:00:00 2001 From: Daniel Saewitz Date: Sun, 3 Mar 2013 19:37:54 -0500 Subject: [PATCH] Move deprecated api back into new --- src/server/api.coffee | 41 ++++++++++++++++++++++++++++++++++-- src/server/deprecated.coffee | 33 ++--------------------------- 2 files changed, 41 insertions(+), 33 deletions(-) diff --git a/src/server/api.coffee b/src/server/api.coffee index e27a28fc4e..8927f6172b 100644 --- a/src/server/api.coffee +++ b/src/server/api.coffee @@ -113,6 +113,43 @@ router.get '/user/tasks', auth, (req, res) -> res.json 200, tasks -module.exports = router -module.exports.auth = auth # export so deprecated can call it +### + This is called form deprecated.coffee's score function, and the req.headers are setup properly to handle the login +### +scoreTask = (req, res, next) -> + {taskId, direction} = req.params + {title, service, icon} = req.body + + # Send error responses for improper API call + return res.send(500, ':taskId required') unless taskId + return res.send(500, ":direction must be 'up' or 'down'") unless direction in ['up','down'] + + model = req.getModel() + {user, userObj} = req + + model.ref('_user', user) + + # Create task if doesn't exist + # TODO add service & icon to task + unless model.get("_user.tasks.#{taskId}") + model.refList "_habitList", "_user.tasks", "_user.habitIds" + model.at('_habitList').push + id: taskId + type: 'habit' + text: (title || taskId) + value: 0 + up: true + down: true + notes: "This task was created by a third-party service. Feel free to edit, it won't harm the connection to that service. Additionally, multiple services may piggy-back off this task." + + delta = scoring.score(model, taskId, direction) + result = model.get ('_user.stats') + result.delta = delta + res.send(result) + +router.post '/user/tasks/:taskId/:direction', auth, scoreTask + +module.exports = router +module.exports.auth = auth +module.exports.scoreTask = scoreTask # export so deprecated can call it diff --git a/src/server/deprecated.coffee b/src/server/deprecated.coffee index e97d7e6710..3fcef2c8a3 100644 --- a/src/server/deprecated.coffee +++ b/src/server/deprecated.coffee @@ -20,36 +20,7 @@ initDeprecated = (req, res, next) -> req.headers['x-api-key'] = req.body.apiToken next() -router.post '/v1/users/:uid/tasks/:taskId/:direction', initDeprecated, api.auth, (req, res) -> - {taskId, direction} = req.params - {title, service, icon} = req.body - - # Send error responses for improper API call - return res.send(500, ':taskId required') unless taskId - return res.send(500, ":direction must be 'up' or 'down'") unless direction in ['up','down'] - - model = req.getModel() - {user, userObj} = req - - model.ref('_user', user) - - # Create task if doesn't exist - # TODO add service & icon to task - unless model.get("_user.tasks.#{taskId}") - model.refList "_habitList", "_user.tasks", "_user.habitIds" - model.at('_habitList').push - id: taskId - type: 'habit' - text: (title || taskId) - value: 0 - up: true - down: true - notes: "This task was created by a third-party service. Feel free to edit, it won't harm the connection to that service. Additionally, multiple services may piggy-back off this task." - - delta = scoring.score(model, taskId, direction) - result = model.get ('_user.stats') - result.delta = delta - res.send(result) +router.post '/v1/users/:uid/tasks/:taskId/:direction', initDeprecated, api.auth, api.scoreTask router.get '/v1/users/:uid/calendar.ics', (req, res) -> #return next() #disable for now @@ -78,4 +49,4 @@ router.get '/v1/users/:uid/calendar.ics', (req, res) -> formattedIcal = ical.toString().replace(/DTSTART\:/g, 'DTSTART;VALUE=DATE:') res.send(200, formattedIcal) -module.exports = router \ No newline at end of file +module.exports = router