mirror of
https://github.com/overleaf/overleaf.git
synced 2025-03-15 04:14:47 +00:00
Fix argument signature of mergeUpdate and deleteUpdate
This commit is contained in:
parent
46ecaf9f6c
commit
f3a1ba93a4
4 changed files with 30 additions and 24 deletions
|
@ -8,8 +8,9 @@ module.exports =
|
|||
mergeUpdate: (req, res)->
|
||||
metrics.inc("tpds.merge-update")
|
||||
{filePath, user_id, projectName} = parseParams(req)
|
||||
logger.log user_id:user_id, filePath:filePath, fullPath:req.params[0], projectName:projectName, "reciving update request from tpds"
|
||||
tpdsUpdateHandler.newUpdate user_id, projectName, filePath, req, (err)->
|
||||
source = req.headers["x-sl-update-source"] or "unknown"
|
||||
logger.log user_id:user_id, filePath:filePath, fullPath:req.params[0], projectName:projectName, source: source, "reciving update request from tpds"
|
||||
tpdsUpdateHandler.newUpdate user_id, projectName, filePath, req, source, (err)->
|
||||
logger.log user_id:user_id, filePath:filePath, fullPath:req.params[0], "sending response that tpdsUpdate has been completed"
|
||||
if err?
|
||||
logger.err err:err, user_id:user_id, filePath:filePath, "error reciving update from tpds"
|
||||
|
@ -23,8 +24,9 @@ module.exports =
|
|||
deleteUpdate: (req, res)->
|
||||
metrics.inc("tpds.delete-update")
|
||||
{filePath, user_id, projectName} = parseParams(req)
|
||||
logger.log user_id:user_id, filePath:filePath, projectName:projectName, fullPath:req.params[0], "reciving delete request from tpds"
|
||||
tpdsUpdateHandler.deleteUpdate user_id, projectName, filePath, (err)->
|
||||
source = req.headers["x-sl-update-source"] or "unknown"
|
||||
logger.log user_id:user_id, filePath:filePath, projectName:projectName, fullPath:req.params[0], source: source, "reciving delete request from tpds"
|
||||
tpdsUpdateHandler.deleteUpdate user_id, projectName, filePath, source, (err)->
|
||||
if err?
|
||||
logger.err err:err, user_id:user_id, filePath:filePath, "error reciving update from tpds"
|
||||
res.send(500)
|
||||
|
@ -36,7 +38,7 @@ module.exports =
|
|||
updateProjectContents: (req, res, next = (error) ->) ->
|
||||
{project_id} = req.params
|
||||
path = "/" + req.params[0] # UpdateMerger expects leading slash
|
||||
source = req.headers["x-sl-update-source"]
|
||||
source = req.headers["x-sl-update-source"] or "unknown"
|
||||
logger.log project_id: project_id, path: path, source: source, "received project contents update"
|
||||
UpdateMerger.mergeUpdate project_id, path, req, source, (error) ->
|
||||
return next(error) if error?
|
||||
|
@ -46,7 +48,7 @@ module.exports =
|
|||
deleteProjectContents: (req, res, next = (error) ->) ->
|
||||
{project_id} = req.params
|
||||
path = "/" + req.params[0] # UpdateMerger expects leading slash
|
||||
source = req.headers["x-sl-update-source"]
|
||||
source = req.headers["x-sl-update-source"] or "unknown"
|
||||
logger.log project_id: project_id, path: path, source: source, "received project contents delete request"
|
||||
UpdateMerger.deleteUpdate project_id, path, source, (error) ->
|
||||
return next(error) if error?
|
||||
|
|
|
@ -9,7 +9,7 @@ commitMessage = "Before update from Dropbox"
|
|||
|
||||
module.exports =
|
||||
|
||||
newUpdate: (user_id, projectName, path, updateRequest, callback)->
|
||||
newUpdate: (user_id, projectName, path, updateRequest, source, callback)->
|
||||
getOrCreateProject = (cb)=>
|
||||
projectLocator.findUsersProjectByName user_id, projectName, (err, project)=>
|
||||
logger.log user_id:user_id, filePath:path, projectName:projectName, "handling new update from tpds"
|
||||
|
@ -22,11 +22,11 @@ module.exports =
|
|||
else
|
||||
cb err, project
|
||||
getOrCreateProject (err, project)->
|
||||
updateMerger.mergeUpdate project._id, path, updateRequest, (err)->
|
||||
updateMerger.mergeUpdate project._id, path, updateRequest, source, (err)->
|
||||
callback(err)
|
||||
|
||||
|
||||
deleteUpdate: (user_id, projectName, path, callback)->
|
||||
deleteUpdate: (user_id, projectName, path, source, callback)->
|
||||
logger.log user_id:user_id, filePath:path, "handling delete update from tpds"
|
||||
projectLocator.findUsersProjectByName user_id, projectName, (err, project)->
|
||||
if !project?
|
||||
|
@ -36,7 +36,7 @@ module.exports =
|
|||
logger.log user_id:user_id, filePath:path, projectName:projectName, project_id:project._id, "project found for delete update, path is root so marking project as deleted"
|
||||
return projectDeleter.markAsDeletedByExternalSource project._id, callback
|
||||
else
|
||||
updateMerger.deleteUpdate project._id, path, (err)->
|
||||
updateMerger.deleteUpdate project._id, path, source, (err)->
|
||||
callback(err)
|
||||
|
||||
|
||||
|
|
|
@ -25,9 +25,11 @@ describe 'TpdsController', ->
|
|||
params:{0:path, "user_id":@user_id}
|
||||
session:
|
||||
destroy:->
|
||||
@TpdsUpdateHandler.newUpdate = sinon.stub().callsArg(4)
|
||||
headers:
|
||||
"x-sl-update-source": @source = "dropbox"
|
||||
@TpdsUpdateHandler.newUpdate = sinon.stub().callsArg(5)
|
||||
res = send: =>
|
||||
@TpdsUpdateHandler.newUpdate.calledWith(@user_id, "projectName","/here.txt", req).should.equal true
|
||||
@TpdsUpdateHandler.newUpdate.calledWith(@user_id, "projectName","/here.txt", req, @source).should.equal true
|
||||
done()
|
||||
@TpdsController.mergeUpdate req, res
|
||||
|
||||
|
@ -38,9 +40,11 @@ describe 'TpdsController', ->
|
|||
params:{0:path, "user_id":@user_id}
|
||||
session:
|
||||
destroy:->
|
||||
@TpdsUpdateHandler.deleteUpdate = sinon.stub().callsArg(3)
|
||||
headers:
|
||||
"x-sl-update-source": @source = "dropbox"
|
||||
@TpdsUpdateHandler.deleteUpdate = sinon.stub().callsArg(4)
|
||||
res = send: =>
|
||||
@TpdsUpdateHandler.deleteUpdate.calledWith(@user_id, "projectName", "/here.txt").should.equal true
|
||||
@TpdsUpdateHandler.deleteUpdate.calledWith(@user_id, "projectName", "/here.txt", @source).should.equal true
|
||||
done()
|
||||
@TpdsController.deleteUpdate req, res
|
||||
|
||||
|
|
|
@ -7,8 +7,8 @@ describe 'TpdsUpdateHandler', ->
|
|||
beforeEach ->
|
||||
@requestQueuer = {}
|
||||
@updateMerger =
|
||||
deleteUpdate: (user_id, path, cb)->cb()
|
||||
mergeUpdate:(user_id, path, update, cb)->cb()
|
||||
deleteUpdate: (user_id, path, source, cb)->cb()
|
||||
mergeUpdate:(user_id, path, update, source, cb)->cb()
|
||||
@editorController = {}
|
||||
@project_id = "dsjajilknaksdn"
|
||||
@project = {_id:@project_id, name:"projectNameHere"}
|
||||
|
@ -33,15 +33,15 @@ describe 'TpdsUpdateHandler', ->
|
|||
path = "/path/here"
|
||||
update = {}
|
||||
@updateMerger.mergeUpdate = sinon.stub()
|
||||
@updateMerger.mergeUpdate.withArgs(@project_id, path, update).callsArg(3)
|
||||
@handler.newUpdate @user_id, @project.name, path, update, =>
|
||||
@updateMerger.mergeUpdate.withArgs(@project_id, path, update, @source).callsArg(4)
|
||||
@handler.newUpdate @user_id, @project.name, path, update, @source, =>
|
||||
@projectCreationHandler.createBlankProject.called.should.equal false
|
||||
done()
|
||||
|
||||
it 'should create a new project if one does not already exit', (done)->
|
||||
@projectLocator.findUsersProjectByName = sinon.stub().callsArgWith(2)
|
||||
path = "/"
|
||||
@handler.newUpdate @user_id, @project.name, path, {}, =>
|
||||
@handler.newUpdate @user_id, @project.name, path, {}, @source, =>
|
||||
@projectCreationHandler.createBlankProject.calledWith(@user_id, @project.name).should.equal true
|
||||
done()
|
||||
|
||||
|
@ -49,7 +49,7 @@ describe 'TpdsUpdateHandler', ->
|
|||
@projectLocator.findUsersProjectByName = sinon.stub().callsArgWith(2)
|
||||
@handler._rootDocTimeoutLength = 0
|
||||
path = "/"
|
||||
@handler.newUpdate @user_id, @project.name, path, {}, =>
|
||||
@handler.newUpdate @user_id, @project.name, path, {}, @source, =>
|
||||
setTimeout (=>
|
||||
@rootDocManager.setRootDocAutomatically.calledWith(@project._id).should.equal true
|
||||
done()
|
||||
|
@ -61,16 +61,16 @@ describe 'TpdsUpdateHandler', ->
|
|||
it 'should call deleteEntity in the collaberation manager', (done)->
|
||||
path = "/delete/this"
|
||||
update = {}
|
||||
@updateMerger.deleteUpdate = sinon.stub().callsArg(2)
|
||||
@updateMerger.deleteUpdate = sinon.stub().callsArg(3)
|
||||
|
||||
@handler.deleteUpdate @user_id, @project.name, path, =>
|
||||
@handler.deleteUpdate @user_id, @project.name, path, @source, =>
|
||||
@projectDeleter.markAsDeletedByExternalSource.calledWith(@project._id).should.equal false
|
||||
@updateMerger.deleteUpdate.calledWith(@project_id, path).should.equal true
|
||||
@updateMerger.deleteUpdate.calledWith(@project_id, path, @source).should.equal true
|
||||
done()
|
||||
|
||||
it 'should mark the project as deleted by external source if path is a single slash', (done)->
|
||||
path = "/"
|
||||
@handler.deleteUpdate @user_id, @project.name, path, =>
|
||||
@handler.deleteUpdate @user_id, @project.name, path, @source, =>
|
||||
@projectDeleter.markAsDeletedByExternalSource.calledWith(@project._id).should.equal true
|
||||
done()
|
||||
|
||||
|
|
Loading…
Reference in a new issue