| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- ProjectGetter = require("./ProjectGetter")
- UserGetter = require("../User/UserGetter")
- Project = require('../../models/Project').Project
- logger = require("logger-sharelatex")
- tpdsUpdateSender = require '../ThirdPartyDataStore/TpdsUpdateSender'
- _ = require("underscore")
- module.exports =
- getDetails: (project_id, callback)->
- ProjectGetter.getProjectWithoutDocLines project_id, (err, project)->
- if err?
- logger.err err:err, project_id:project_id, "error getting project"
- return callback(err)
- UserGetter.getUser project.owner_ref, (err, user) ->
- return callback(err) if err?
- details =
- name : project.name
- description: project.description
- compiler: project.compiler
- features: user.features
- logger.log project_id:project_id, details:details, "getting project details"
- callback(err, details)
- getProjectDescription: (project_id, callback)->
- Project.findOne _id:project_id, "description", (err, project)->
- callback(err, project?.description)
- setProjectDescription: (project_id, description, callback)->
- conditions = _id:project_id
- update = description:description
- logger.log conditions:conditions, update:update, project_id:project_id, description:description, "setting project description"
- Project.update conditions, update, (err)->
- if err?
- logger.err err:err, "something went wrong setting project description"
- callback(err)
- renameProject: (project_id, newName, callback = ->)->
- logger.log project_id: project_id, newName:newName, "renaming project"
- ProjectGetter.getProject project_id, {"name":1}, (err, project)->
- if err? or !project?
- logger.err err:err, project_id:project_id, "error getting project or could not find it todo project rename"
- return callback(err)
- oldProjectName = project.name
- Project.update _id:project_id, {name: newName}, (err, project)=>
- if err?
- return callback(err)
- tpdsUpdateSender.moveEntity {project_id:project_id, project_name:oldProjectName, newProjectName:newName}, callback
- setPublicAccessLevel : (project_id, newAccessLevel, callback = ->)->
- logger.log project_id: project_id, level: newAccessLevel, "set public access level"
- if project_id? && newAccessLevel? and _.include ['readOnly', 'readAndWrite', 'private'], newAccessLevel
- Project.update {_id:project_id},{publicAccesLevel:newAccessLevel}, (err)->
- callback()
|