DropboxWebhookController.coffee 681 B

12345678910111213141516171819
  1. logger = require("logger-sharelatex")
  2. DropboxWebhookHandler = require("./DropboxWebhookHandler")
  3. module.exports = DropboxWebhookController =
  4. verify: (req, res, next = (error) ->) ->
  5. res.send(req.query.challenge)
  6. webhook: (req, res, next = (error) ->) ->
  7. dropbox_uids = req.body?.delta?.users
  8. logger.log dropbox_uids: dropbox_uids, "received webhook request from Dropbox"
  9. if !dropbox_uids?
  10. return res.send(400) # Bad Request
  11. # Do this in the background so as not to keep Dropbox waiting
  12. DropboxWebhookHandler.pollDropboxUids dropbox_uids, (error) ->
  13. if error?
  14. logger.error err: error, dropbox_uids: dropbox_uids, "error in webhook"
  15. res.send(200)