TemplatesRouter.coffee 2.0 KB

123456789101112131415161718192021222324252627282930
  1. SecurityManager = require("../../managers/SecurityManager")
  2. AuthenticationController = require("../Authentication/AuthenticationController")
  3. TemplatesWebController = require("./TemplatesWebController")
  4. TemplatesController = require("./TemplatesController")
  5. TemplatesMiddlewear = require('./TemplatesMiddlewear')
  6. middleWear = require("./TemplatesMiddlewear")
  7. module.exports =
  8. apply: (app)->
  9. app.get "/templates", middleWear.insert_templates_user_id, TemplatesWebController.renderTemplatesIndexPage
  10. app.get "/templates/user/:user_id", TemplatesWebController.renderTemplatesIndexPage
  11. app.get "/templates/:tag_or_template_id", middleWear.id_or_tag_parse, middleWear.insert_templates_user_id, TemplatesWebController.tagOrCanonicalPage
  12. app.get "/templates/user/:user_id/:tag_or_template_id", middleWear.id_or_tag_parse, TemplatesWebController.tagOrCanonicalPage
  13. app.get "/templates/:tag_name/:template_name", middleWear.insert_templates_user_id, TemplatesWebController.renerTemplateInTag
  14. app.get "/templates/user/:user_id/:tag_name/:template_name", TemplatesWebController.renerTemplateInTag
  15. app.get "/templates/:template_id/v/:version/:file_type", TemplatesWebController.proxyToTemplatesApi
  16. app.post "/project/:Project_id/template/publish", SecurityManager.requestIsOwner, TemplatesController.publishProject
  17. app.post "/project/:Project_id/template/unpublish", SecurityManager.requestIsOwner, TemplatesController.unpublishProject
  18. app.post "/project/:Project_id/template/description", SecurityManager.requestCanModifyProject, TemplatesController.updateProjectDescription
  19. # Make sure the /project/new/template route comes before the /project/:project_id/template route
  20. # This is a get request so that it can be linked to.
  21. app.get '/project/new/template', TemplatesMiddlewear.saveTemplateDataInSession, AuthenticationController.requireLogin(), TemplatesController.createProjectFromZipTemplate
  22. app.get "/project/:Project_id/template", SecurityManager.requestCanAccessProject, TemplatesController.getTemplateDetails