ReferencesSearchHandler.coffee 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. logger = require("logger-sharelatex")
  2. request = require("request")
  3. settings = require("settings-sharelatex")
  4. oneMinInMs = 60 * 1000
  5. fiveMinsInMs = oneMinInMs * 5
  6. module.exports = ReferencesSearchHandler =
  7. indexFile: (project_id, file_url, callback = (err)->) ->
  8. logger.log {project_id, file_url}, "sending index request to references api"
  9. url = "#{settings.apis.references.url}/project/#{project_id}"
  10. request.post {
  11. url: url
  12. json:
  13. referencesUrl: file_url
  14. }, (err, res, result) ->
  15. if err
  16. return callback(err)
  17. if 200 <= res.statusCode < 300
  18. return callback(null)
  19. else
  20. err = new Error("references api responded with non-success code: #{res.statusCode}")
  21. logger.log {err, project_id, file_url}, "error updating references"
  22. return callback(err)
  23. getKeys: (project_id, callback = (err, result)->) ->
  24. logger.log {project_id}, "getting keys from remote references api"
  25. url = "#{settings.apis.references.url}/project/#{project_id}/keys"
  26. request.get {
  27. url: url
  28. json: true
  29. }, (err, res, result) ->
  30. if err
  31. return callback(err)
  32. if 200 <= res.statusCode < 300
  33. return callback(null, result)
  34. else
  35. err = new Error("references api responded with non-success code: #{res.statusCode}")
  36. logger.log {err, project_id}, "error getting references keys"
  37. return callback(err)