| 12345678910111213141516171819202122232425 |
- logger = require("logger-sharelatex")
- async = require "async"
- User = require("../../models/User").User
- TpdsUpdateSender = require "../ThirdPartyDataStore/TpdsUpdateSender"
- module.exports = DropboxWebhookHandler =
- pollDropboxUids: (dropbox_uids, callback = (error) ->) ->
- jobs = []
- for uid in dropbox_uids
- do (uid) ->
- jobs.push (callback) ->
- DropboxWebhookHandler.pollDropboxUid uid, callback
- async.series jobs, callback
-
- pollDropboxUid: (dropbox_uid, callback = (error) ->) ->
- User.find {
- "dropbox.access_token.uid": dropbox_uid
- "features.dropbox": true
- }, (error, users = []) ->
- return callback(error) if error?
- user = users[0]
- if !user?
- logger.log dropbox_uid: dropbox_uid, "no sharelatex user found"
- return callback()
- TpdsUpdateSender.pollDropboxForUser user._id, callback
|