wip
This commit is contained in:
@@ -21,17 +21,19 @@ router.get '/status', (req, res) ->
|
||||
status: 'up'
|
||||
|
||||
router.get '/user', (req, res) ->
|
||||
console.log 'hi'
|
||||
{ uid, token } = req.query
|
||||
return res.json 500, NO_TOKEN_OR_UID unless uid || token
|
||||
|
||||
model = req.getModel()
|
||||
query = model.query('users').withIdAndToken(uid, token)
|
||||
|
||||
model.fetch query, (err, user) ->
|
||||
query.fetch (err, user) ->
|
||||
self = user.get()
|
||||
return res.json 500, err: err if err
|
||||
return res.json 500, NO_USER_FOUND if !user || _.isEmpty(user)
|
||||
return res.json 500, NO_USER_FOUND if !self || _.isEmpty(self)
|
||||
|
||||
res.json user
|
||||
res.json self
|
||||
|
||||
router.get '/user/calendar.ics', (req, res) ->
|
||||
#return next() #disable for now
|
||||
|
||||
@@ -13,6 +13,31 @@ router.get '/:uid/up/:score?', (req, res) -> res.send(500, deprecatedMessage)
|
||||
router.get '/:uid/down/:score?', (req, res) -> res.send(500, deprecatedMessage)
|
||||
router.post '/users/:uid/tasks/:taskId/:direction', (req, res) -> res.send(500, deprecatedMessage)
|
||||
|
||||
router.get '/v1/users/:uid/tasks/:taskId/:direction', (req, res) ->
|
||||
{uid, taskId, direction} = req.params
|
||||
{apiToken} = req.query
|
||||
{title, service, icon} = req.body
|
||||
console.log {params:req.params, body:req.body} if process.env.NODE_ENV == 'development'
|
||||
|
||||
# Send error responses for improper API call
|
||||
return res.send(500, 'request body "apiToken" required') unless apiToken
|
||||
return res.send(500, ':uid required') unless uid
|
||||
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()
|
||||
req._isServer = true
|
||||
model.fetch model.query('users').withIdAndToken(uid, apiToken), (err, result) ->
|
||||
return res.send(500, err) if err
|
||||
user = result.at(0)
|
||||
userObj = user.get()
|
||||
if _.isEmpty(userObj)
|
||||
return res.send(500, "User with uid=#{uid}, token=#{apiToken} not found. Make sure you're not using your username, but your User Id")
|
||||
|
||||
model.ref('_user', user)
|
||||
|
||||
res.send(user)
|
||||
|
||||
router.post '/v1/users/:uid/tasks/:taskId/:direction', (req, res) ->
|
||||
{uid, taskId, direction} = req.params
|
||||
{apiToken, title, service, icon} = req.body
|
||||
|
||||
@@ -17,9 +17,9 @@ middleware = require './middleware'
|
||||
racer.io.set('transports', ['xhr-polling'])
|
||||
racer.ioClient.set('reconnection limit', 300000) # max reconect timeout to 5 minutes
|
||||
racer.set('bundleTimeout', 40000)
|
||||
#unless process.env.NODE_ENV == 'production'
|
||||
# racer.use(racer.logPlugin)
|
||||
# derby.use(derby.logPlugin)
|
||||
unless process.env.NODE_ENV == 'production'
|
||||
racer.use(racer.logPlugin)
|
||||
derby.use(derby.logPlugin)
|
||||
|
||||
## SERVER CONFIGURATION ##
|
||||
|
||||
@@ -28,7 +28,7 @@ server = http.createServer expressApp
|
||||
module.exports = server
|
||||
|
||||
derby.use require('racer-db-mongo')
|
||||
store = derby.createStore
|
||||
module.exports.habitStore = store = derby.createStore
|
||||
db: {type: 'Mongo', uri: process.env.NODE_DB_URI, safe:true}
|
||||
listen: server
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
module.exports.splash = (req, res, next) ->
|
||||
# This was an API call, not a page load
|
||||
return next() if req.is('json')
|
||||
|
||||
return next() if /^\/api/.test req.path
|
||||
if !req.session.userId? and !req.query?.play?
|
||||
res.redirect('/splash.html')
|
||||
else
|
||||
|
||||
@@ -54,12 +54,12 @@ userAccess = (store) ->
|
||||
###
|
||||
REST = (store) ->
|
||||
store.query.expose "users", "withIdAndToken", (uid, token) ->
|
||||
@where('id').equals(uid)
|
||||
@byId(uid)
|
||||
.where('apiToken').equals(token)
|
||||
.one
|
||||
|
||||
store.queryAccess "users", "withIdAndToken", (id, token, accept, err) ->
|
||||
return accept(true) if id && token
|
||||
store.queryAccess "users", "withIdAndToken", (uid, token, accept, err) ->
|
||||
return accept(true) if uid && token
|
||||
accept(false) # only user has id & token
|
||||
|
||||
|
||||
@@ -90,4 +90,4 @@ partySystem = (store) ->
|
||||
|
||||
store.writeAccess "*", "parties.*", ->
|
||||
accept = arguments[arguments.length-2]
|
||||
accept(true)
|
||||
accept(true)
|
||||
|
||||
Reference in New Issue
Block a user