Quellcode durchsuchen

fixed some mongo calls in project entity handler

need to specify fields you want to not get array back.
Henry Oswald vor 10 Jahren
Ursprung
Commit
b5dd96aa71

+ 5 - 4
services/web/app/coffee/Features/Project/ProjectEntityHandler.coffee

@@ -76,7 +76,7 @@ module.exports = ProjectEntityHandler =
 		documentUpdaterHandler = require('../../Features/DocumentUpdater/DocumentUpdaterHandler')
 		documentUpdaterHandler = require('../../Features/DocumentUpdater/DocumentUpdaterHandler')
 		documentUpdaterHandler.flushProjectToMongo project_id, (error) ->
 		documentUpdaterHandler.flushProjectToMongo project_id, (error) ->
 			return callback(error) if error?
 			return callback(error) if error?
-			ProjectGetter.getProject project_id, (error, project) ->
+			ProjectGetter.getProject project_id, {name:true}, (error, project) ->
 				return callback(error) if error?
 				return callback(error) if error?
 				requests = []
 				requests = []
 				self.getAllDocs project_id, (error, docs) ->
 				self.getAllDocs project_id, (error, docs) ->
@@ -280,7 +280,7 @@ module.exports = ProjectEntityHandler =
 			logger.err err: "No entityType set", project_id: project_id, entity_id: entity_id
 			logger.err err: "No entityType set", project_id: project_id, entity_id: entity_id
 			return callback("No entityType set")
 			return callback("No entityType set")
 		entityType = entityType.toLowerCase()
 		entityType = entityType.toLowerCase()
-		ProjectGetter.getProject project_id, (err, project)=>
+		ProjectGetter.getProject project_id, {rootFolder:true}, (err, project)=>
 			return callback(err) if err?
 			return callback(err) if err?
 			projectLocator.findElement {project:project, element_id:entity_id, type:entityType}, (err, entity, path)->
 			projectLocator.findElement {project:project, element_id:entity_id, type:entityType}, (err, entity, path)->
 				return callback(err) if err?
 				return callback(err) if err?
@@ -318,7 +318,8 @@ module.exports = ProjectEntityHandler =
 			logger.err err: "No entityType set", project_id: project_id, entity_id: entity_id
 			logger.err err: "No entityType set", project_id: project_id, entity_id: entity_id
 			return callback("No entityType set")
 			return callback("No entityType set")
 		entityType = entityType.toLowerCase()
 		entityType = entityType.toLowerCase()
-		ProjectGetter.getProject project_id, (err, project)=>
+		console.log "getting project"
+		ProjectGetter.getProject project_id, {name:true, rootFolder:true}, (err, project)=>
 			return callback(error) if error?
 			return callback(error) if error?
 			projectLocator.findElement {project: project, element_id: entity_id, type: entityType}, (error, entity, path)=>
 			projectLocator.findElement {project: project, element_id: entity_id, type: entityType}, (error, entity, path)=>
 				return callback(error) if error?
 				return callback(error) if error?
@@ -337,7 +338,7 @@ module.exports = ProjectEntityHandler =
 			logger.err err: "No entityType set", project_id: project_id, entity_id: entity_id
 			logger.err err: "No entityType set", project_id: project_id, entity_id: entity_id
 			return callback("No entityType set")
 			return callback("No entityType set")
 		entityType = entityType.toLowerCase()
 		entityType = entityType.toLowerCase()
-		ProjectGetter.getProject project_id, (err, project)=>
+		ProjectGetter.getProject project_id, {rootFolder:true, name:true}, (err, project)=>
 			projectLocator.findElement {project:project, element_id:entity_id, type:entityType}, (err, entity, path, folder)=>
 			projectLocator.findElement {project:project, element_id:entity_id, type:entityType}, (err, entity, path, folder)=>
 				if err?
 				if err?
 					return callback err
 					return callback err

+ 7 - 3
services/web/app/coffee/Features/Project/ProjectLocator.coffee

@@ -51,7 +51,7 @@ module.exports = ProjectLocator =
 		if project?
 		if project?
 			startSearch(project)
 			startSearch(project)
 		else
 		else
-			ProjectGetter.getProject project_id, (err, project)->
+			ProjectGetter.getProject project_id, {rootFolder:true, rootDoc_id:true}, (err, project)->
 				return callback(err) if err?
 				return callback(err) if err?
 				if !project?
 				if !project?
 					return callback(new Errors.NotFoundError("project not found"))
 					return callback(new Errors.NotFoundError("project not found"))
@@ -67,8 +67,12 @@ module.exports = ProjectLocator =
 		if project?
 		if project?
 			getRootDoc project
 			getRootDoc project
 		else
 		else
-			ProjectGetter.getProject project_id, (err, project)->
-				getRootDoc project
+			ProjectGetter.getProject project_id, {rootFolder:true, rootDoc_id:true}, (err, project)->
+				if err?
+					logger.err err:err, "error getting project"
+					return callback(err)
+				else
+					getRootDoc project
 
 
 	findElementByPath: (project_or_id, needlePath, callback = (err, foundEntity)->)->
 	findElementByPath: (project_or_id, needlePath, callback = (err, foundEntity)->)->
 
 

+ 2 - 0
services/web/app/coffee/Features/Uploads/FileSystemImportManager.coffee

@@ -4,6 +4,7 @@ _     = require "underscore"
 FileTypeManager  = require "./FileTypeManager"
 FileTypeManager  = require "./FileTypeManager"
 EditorController = require "../Editor/EditorController"
 EditorController = require "../Editor/EditorController"
 ProjectLocator   = require "../Project/ProjectLocator"
 ProjectLocator   = require "../Project/ProjectLocator"
+logger  = require "logger-sharelatex"
 
 
 module.exports = FileSystemImportManager =
 module.exports = FileSystemImportManager =
 	addDoc: (project_id, folder_id, name, path, replace, callback = (error, doc)-> )->
 	addDoc: (project_id, folder_id, name, path, replace, callback = (error, doc)-> )->
@@ -14,6 +15,7 @@ module.exports = FileSystemImportManager =
 			EditorController.addDocWithoutLock project_id, folder_id, name, lines, "upload", callback
 			EditorController.addDocWithoutLock project_id, folder_id, name, lines, "upload", callback
 
 
 	addFile: (project_id, folder_id, name, path, replace, callback = (error, file)-> )->
 	addFile: (project_id, folder_id, name, path, replace, callback = (error, file)-> )->
+		logger.log project_id:project_id, folder_id:folder_id, name:name, path:path, replace:replace, "adding file from filesystem"
 		if replace
 		if replace
 			ProjectLocator.findElement project_id: project_id, element_id: folder_id, type: "folder", (error, folder) ->
 			ProjectLocator.findElement project_id: project_id, element_id: folder_id, type: "folder", (error, folder) ->
 				return callback(error) if error?
 				return callback(error) if error?

+ 1 - 0
services/web/app/coffee/Features/Uploads/ProjectUploadController.coffee

@@ -34,6 +34,7 @@ module.exports = ProjectUploadController =
 		if !name? or name.length == 0 or name.length > 150
 		if !name? or name.length == 0 or name.length > 150
 			logger.err project_id:project_id, name:name, "bad name when trying to upload file"
 			logger.err project_id:project_id, name:name, "bad name when trying to upload file"
 			return res.send success: false
 			return res.send success: false
+		logger.log folder_id:folder_id, project_id:project_id, "getting upload file request"
 		FileSystemImportManager.addEntity project_id, folder_id, name, path, true, (error, entity) ->
 		FileSystemImportManager.addEntity project_id, folder_id, name, path, true, (error, entity) ->
 			fs.unlink path, ->
 			fs.unlink path, ->
 			timer.done()
 			timer.done()

+ 4 - 4
services/web/test/UnitTests/coffee/Project/ProjectEntityHandlerTests.coffee

@@ -144,7 +144,7 @@ describe 'ProjectEntityHandler', ->
 	describe 'deleteEntity', ->
 	describe 'deleteEntity', ->
 		entity_id = "4eecaffcbffa66588e000009"
 		entity_id = "4eecaffcbffa66588e000009"
 		beforeEach ->
 		beforeEach ->
-			@ProjectGetter.getProject.callsArgWith(1, null, @project)
+			@ProjectGetter.getProject.callsArgWith(2, null, @project)
 			@tpdsUpdateSender.deleteEntity = sinon.stub().callsArg(1)
 			@tpdsUpdateSender.deleteEntity = sinon.stub().callsArg(1)
 			@ProjectEntityHandler._removeElementFromMongoArray = sinon.stub().callsArg(3)
 			@ProjectEntityHandler._removeElementFromMongoArray = sinon.stub().callsArg(3)
 			@ProjectEntityHandler._cleanUpEntity = sinon.stub().callsArg(3)
 			@ProjectEntityHandler._cleanUpEntity = sinon.stub().callsArg(3)
@@ -232,7 +232,7 @@ describe 'ProjectEntityHandler', ->
 			}
 			}
 			@ProjectEntityHandler._removeElementFromMongoArray = sinon.stub().callsArg(3)
 			@ProjectEntityHandler._removeElementFromMongoArray = sinon.stub().callsArg(3)
 			@ProjectEntityHandler._putElement = sinon.stub().callsArgWith(4, null, path: @pathAfterMove)
 			@ProjectEntityHandler._putElement = sinon.stub().callsArgWith(4, null, path: @pathAfterMove)
-			@ProjectGetter.getProject.callsArgWith(1, null, @project)
+			@ProjectGetter.getProject.callsArgWith(2, null, @project)
 			@tpdsUpdateSender.moveEntity = sinon.stub().callsArg(1)
 			@tpdsUpdateSender.moveEntity = sinon.stub().callsArg(1)
 			
 			
 		describe "moving a doc", ->
 		describe "moving a doc", ->
@@ -810,7 +810,7 @@ describe 'ProjectEntityHandler', ->
 			@ProjectEntityHandler.getAllDocs = sinon.stub().callsArgWith(1, null, @docs)
 			@ProjectEntityHandler.getAllDocs = sinon.stub().callsArgWith(1, null, @docs)
 			@ProjectEntityHandler.getAllFiles = sinon.stub().callsArgWith(1, null, @files)
 			@ProjectEntityHandler.getAllFiles = sinon.stub().callsArgWith(1, null, @files)
 
 
-			@ProjectGetter.getProject.callsArgWith(1, null, @project)
+			@ProjectGetter.getProject.callsArgWith(2, null, @project)
 
 
 			@ProjectEntityHandler.flushProjectToThirdPartyDataStore project_id, () -> done()
 			@ProjectEntityHandler.flushProjectToThirdPartyDataStore project_id, () -> done()
 
 
@@ -927,7 +927,7 @@ describe 'ProjectEntityHandler', ->
 			@projectLocator.findElement = sinon.stub().callsArgWith(1, null, @entity = { _id: @entity_id, name:"old.tex", rev:4 }, @path)
 			@projectLocator.findElement = sinon.stub().callsArgWith(1, null, @entity = { _id: @entity_id, name:"old.tex", rev:4 }, @path)
 			@ProjectModel.update = sinon.stub().callsArgWith(3)
 			@ProjectModel.update = sinon.stub().callsArgWith(3)
 			@tpdsUpdateSender.moveEntity = sinon.stub()
 			@tpdsUpdateSender.moveEntity = sinon.stub()
-			@ProjectGetter.getProject.callsArgWith(1, null, @project)
+			@ProjectGetter.getProject.callsArgWith(2, null, @project)
 
 
 		it "should update the name in mongo", (done)->
 		it "should update the name in mongo", (done)->
 
 

+ 1 - 1
services/web/test/UnitTests/coffee/Project/ProjectLocatorTests.coffee

@@ -39,7 +39,7 @@ describe 'ProjectLocatorTests', ->
 		Project.findById = (project_id, callback)=>
 		Project.findById = (project_id, callback)=>
 			callback(null, project)
 			callback(null, project)
 		@ProjectGetter = 
 		@ProjectGetter = 
-			getProject: sinon.stub().callsArgWith(1, null, project)
+			getProject: sinon.stub().callsArgWith(2, null, project)
 		@locator = SandboxedModule.require modulePath, requires:
 		@locator = SandboxedModule.require modulePath, requires:
 			'../../models/Project':{Project:Project}
 			'../../models/Project':{Project:Project}
 			'../../models/User':{User:@User}
 			'../../models/User':{User:@User}