| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- logger = require("logger-sharelatex")
- projectDeleter = require("./ProjectDeleter")
- projectDuplicator = require("./ProjectDuplicator")
- projectCreationHandler = require("./ProjectCreationHandler")
- metrics = require('../../infrastructure/Metrics')
- sanitize = require('sanitizer')
- module.exports =
- deleteProject: (req, res)->
- project_id = req.params.Project_id
- logger.log project_id:project_id, "deleting project"
- projectDeleter.deleteProject project_id, (err)->
- if err?
- res.send 500
- else
- res.send 200
- cloneProject: (req, res)->
- metrics.inc "cloned-project"
- project_id = req.params.Project_id
- projectName = req.body.projectName
- logger.log project_id:project_id, projectName:projectName, "cloning project"
- if !req.session.user?
- return res.send redir:"/register"
- projectDuplicator.duplicate req.session.user, project_id, projectName, (err, project)->
- if err?
- logger.error err:err, project_id: project_id, user_id: req.session.user._id, "error cloning project"
- return next(err)
- res.send(project_id:project._id)
- newProject: (req, res)->
- user = req.session.user
- projectName = sanitize.escape(req.body.projectName)
- template = sanitize.escape(req.body.template)
- logger.log user: user, type: template, name: projectName, "creating project"
- if template == 'example'
- projectCreationHandler.createExampleProject user._id, projectName, (err, project)->
- if err?
- logger.error err: err, project: project, user: user, name: projectName, type: "example", "error creating project"
- res.send 500
- else
- logger.log project: project, user: user, name: projectName, type: "example", "created project"
- res.send {project_id:project._id}
- else
- projectCreationHandler.createBasicProject user._id, projectName, (err, project)->
- if err?
- logger.error err: err, project: project, user: user, name: projectName, type: "basic", "error creating project"
- res.send 500
- else
- logger.log project: project, user: user, name: projectName, type: "basic", "created project"
- res.send {project_id:project._id}
|