TemplatesPublisher.coffee 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. request = require("request")
  2. settings = require("settings-sharelatex")
  3. logger = require("logger-sharelatex")
  4. module.exports =
  5. publish : (user_id, project_id, callback)->
  6. url = buildUrl(user_id, project_id)
  7. request.post url, (err)->
  8. if err?
  9. logger.err err:err, "something went wrong publishing project as template"
  10. callback err
  11. unpublish: (user_id, project_id, callback)->
  12. url = buildUrl(user_id, project_id)
  13. request.del url, (err)->
  14. callback()
  15. getTemplateDetails: (user_id, project_id, callback)->
  16. url = buildUrl(user_id, project_id)+"/details"
  17. request.get url, (err, res, body)->
  18. if err?
  19. logger.err err:err, user_id:user_id, project_id:project_id, body:body, "error getting template details"
  20. return callback err
  21. try
  22. json = JSON.parse body
  23. catch err
  24. logger.err err:err, user_id:user_id, project_id:project_id, body:body, "error parsing project json details"
  25. return callback err
  26. logger.log json:json, user_id:user_id, project_id:project_id, "got template details"
  27. callback(err, json)
  28. buildUrl = (user_id, project_id)->
  29. url = "#{settings.apis.templates.url}/templates/user/#{user_id}/project/#{project_id}"