| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #this file is being slowly refactored out
- logger = require('logger-sharelatex')
- sanitize = require('validator').sanitize
- projectHandler = require('../handlers/ProjectHandler')
- projectHandler = new projectHandler()
- SecurityManager = require('./SecurityManager')
- _ = require('underscore')
- projectEditorHandler = require('../Features/Project/ProjectEditorHandler')
- projectEntityHandler = require('../Features/Project/ProjectEntityHandler')
- versioningApiHandler = require('../Features/Versioning/VersioningApiHandler')
- metrics = require('../infrastructure/Metrics')
- EditorRealTimeController = require('../Features/Editor/EditorRealTimeController')
- module.exports = class CollaberationManager
- constructor: (@io)->
- deleteProject: (project_id, callback)->
- metrics.inc "editor.delete-project"
- logger.log project_id:project_id, "recived message to delete project"
- projectHandler.deleteProject project_id, callback
- renameEntity: (project_id, entity_id, entityType, newName, callback)->
- newName = sanitize(newName).xss()
- metrics.inc "editor.rename-entity"
- logger.log entity_id:entity_id, entity_id:entity_id, entity_id:entity_id, "reciving new name for entity for project"
- projectHandler.renameEntity project_id, entity_id, entityType, newName, =>
- if newName.length > 0
- EditorRealTimeController.emitToRoom project_id, 'reciveEntityRename', entity_id, newName
- callback?()
- moveEntity: (project_id, entity_id, folder_id, entityType, callback)->
- metrics.inc "editor.move-entity"
- projectEntityHandler.moveEntity project_id, entity_id, folder_id, entityType, =>
- EditorRealTimeController.emitToRoom project_id, 'reciveEntityMove', entity_id, folder_id
- callback?()
- renameProject: (project_id, window_id, newName, callback)->
- newName = sanitize(newName).xss()
- projectHandler.renameProject project_id, window_id, newName, =>
- newName = sanitize(newName).xss()
- EditorRealTimeController.emitToRoom project_id, 'projectNameUpdated', window_id, newName
- callback?()
- setPublicAccessLevel : (project_id, newAccessLevel, callback)->
- projectHandler.setPublicAccessLevel project_id, newAccessLevel, =>
- EditorRealTimeController.emitToRoom project_id, 'publicAccessLevelUpdated', newAccessLevel
- callback?()
- distributMessage: (project_id, client, message)->
- message = sanitize(message).xss()
- metrics.inc "editor.instant-message"
- client.get "first_name", (err, first_name)=>
- EditorRealTimeController.emitToRoom project_id, 'reciveNewMessage', first_name, message
- setRootDoc: (project_id, newRootDocID, callback)->
- projectEntityHandler.setRootDoc project_id, newRootDocID, () =>
- EditorRealTimeController.emitToRoom project_id, 'rootDocUpdated', newRootDocID
- callback?()
- takeVersionSnapShot : (project_id, message, callback)->
- versioningApiHandler.takeVersionSnapshot project_id, message, callback
|