OlProjectGetter.coffee 869 B

123456789101112131415161718192021222324
  1. request = require 'request'
  2. settings = require 'settings-sharelatex'
  3. logger = require 'logger-sharelatex'
  4. Errors = require '../Errors/Errors'
  5. oAuthRequest = require '../../../../modules/overleaf-integration-web-module/app/coffee/oauth/OAuthRequest'
  6. makeRequest = (opts, callback) ->
  7. if settings.apis?.olProjects?.url?
  8. urlPath = opts.url
  9. opts.url = "#{settings.apis.olProjects.url}#{urlPath}"
  10. request opts, callback
  11. else
  12. callback(new Errors.ServiceNotConfiguredError('OL Projects service not configured'))
  13. module.exports = OlProjectGetter =
  14. findAllUsersProjects: (userId, callback = (error, projects) ->) ->
  15. oAuthRequest userId, {
  16. url: "#{settings.overleaf.host}/api/v1/sharelatex/docs"
  17. method: 'GET'
  18. json: true
  19. }, (error, docs) ->
  20. return callback(error) if error?
  21. logger.log {userId, docs}, "got projects from OL"
  22. callback(null, docs)