V1ProjectGetter.coffee 957 B

123456789101112131415161718192021
  1. fs = require 'fs'
  2. path = require 'path'
  3. logger = require 'logger-sharelatex'
  4. INTEGRATION_MODULE_PATH = path.resolve(__dirname, '../../../../modules/overleaf-integration-web-module')
  5. V1ProjectGetter =
  6. # Default implementation is a no-op
  7. findAllUsersProjects: (userId, callback = (error, projects) ->) ->
  8. logger.log {}, "integration modules doesn't exist, not loading V1 projects"
  9. return callback()
  10. fs.stat INTEGRATION_MODULE_PATH, (error, stats) ->
  11. return if error? or !stats.isDirectory()
  12. logger.log {isDirectory: stats.isDirectory()}, "integration module does exist, loading V1 projects"
  13. # Monkey patch impl to actually fetch projects
  14. V1ProjectGetter.findAllUsersProjects = (userId, callback = (error, projects) ->) ->
  15. IntegrationProjectListGetter = require(path.join(INTEGRATION_MODULE_PATH, 'app/coffee/ProjectList/ProjectListGetter'))
  16. IntegrationProjectListGetter.findAllUsersProjects(userId, callback)
  17. module.exports = V1ProjectGetter