mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-15 14:43:46 +01:00
version ProjectEntityHandler.copyFileFromExistingProjectWithProject
This commit is contained in:
@@ -255,25 +255,31 @@ module.exports = ProjectEntityHandler =
|
|||||||
|
|
||||||
copyFileFromExistingProjectWithProject: (project, folder_id, originalProject_id, origonalFileRef, callback = (error, fileRef, folder_id) ->)->
|
copyFileFromExistingProjectWithProject: (project, folder_id, originalProject_id, origonalFileRef, callback = (error, fileRef, folder_id) ->)->
|
||||||
project_id = project._id
|
project_id = project._id
|
||||||
logger.log project_id:project_id, folder_id:folder_id, originalProject_id:originalProject_id, origonalFileRef:origonalFileRef, "copying file in s3 with project"
|
logger.log { project_id, folder_id, originalProject_id, origonalFileRef }, "copying file in s3 with project"
|
||||||
return callback(err) if err?
|
return callback(err) if err?
|
||||||
confirmFolder project, folder_id, (folder_id)=>
|
confirmFolder project, folder_id, (folder_id)=>
|
||||||
if !origonalFileRef?
|
if !origonalFileRef?
|
||||||
logger.err project_id:project._id, folder_id:folder_id, originalProject_id:originalProject_id, origonalFileRef:origonalFileRef, "file trying to copy is null"
|
logger.err { project_id, folder_id, originalProject_id, origonalFileRef }, "file trying to copy is null"
|
||||||
return callback()
|
return callback()
|
||||||
fileRef = new File name : origonalFileRef.name
|
fileRef = new File name : origonalFileRef.name
|
||||||
FileStoreHandler.copyFile originalProject_id, origonalFileRef._id, project._id, fileRef._id, (err)->
|
FileStoreHandler.copyFile originalProject_id, origonalFileRef._id, project._id, fileRef._id, (err, fileStoreUrl)->
|
||||||
if err?
|
if err?
|
||||||
logger.err err:err, project_id:project._id, folder_id:folder_id, originalProject_id:originalProject_id, origonalFileRef:origonalFileRef, "error coping file in s3"
|
logger.err { err, project_id, folder_id, originalProject_id, origonalFileRef }, "error coping file in s3"
|
||||||
return callback(err)
|
return callback(err)
|
||||||
ProjectEntityHandler._putElement project, folder_id, fileRef, "file", (err, result)=>
|
ProjectEntityHandler._putElement project, folder_id, fileRef, "file", (err, result)=>
|
||||||
if err?
|
if err?
|
||||||
logger.err err:err, project_id:project._id, folder_id:folder_id, "error putting element as part of copy"
|
logger.err { err, project_id, folder_id }, "error putting element as part of copy"
|
||||||
return callback(err)
|
return callback(err)
|
||||||
tpdsUpdateSender.addFile {project_id:project._id, file_id:fileRef._id, path:result?.path?.fileSystem, rev:fileRef.rev, project_name:project.name}, (err) ->
|
tpdsUpdateSender.addFile { project_id, file_id:fileRef._id, path:result?.path?.fileSystem, rev:fileRef.rev, project_name:project.name}, (err) ->
|
||||||
if err?
|
if err?
|
||||||
logger.err err:err, project_id:project._id, folder_id:folder_id, originalProject_id:originalProject_id, origonalFileRef:origonalFileRef, "error sending file to tpds worker"
|
logger.err { err, project_id, folder_id, originalProject_id, origonalFileRef }, "error sending file to tpds worker"
|
||||||
callback(null, fileRef, folder_id)
|
newFile =
|
||||||
|
file: fileRef
|
||||||
|
path: result?.path?.fileSystem
|
||||||
|
url: fileStoreUrl
|
||||||
|
DocumentUpdaterHandler.updateProjectStructure project_id, null, [], [], [], [newFile], (error) ->
|
||||||
|
return callback(error) if error?
|
||||||
|
callback null, fileRef, folder_id
|
||||||
|
|
||||||
mkdirp: (project_id, path, callback = (err, newlyCreatedFolders, lastFolderInPath)->)->
|
mkdirp: (project_id, path, callback = (err, newlyCreatedFolders, lastFolderInPath)->)->
|
||||||
self = @
|
self = @
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ describe 'ProjectEntityHandler', ->
|
|||||||
@fileUrl = 'filestore.example.com/file'
|
@fileUrl = 'filestore.example.com/file'
|
||||||
@FileStoreHandler =
|
@FileStoreHandler =
|
||||||
uploadFileFromDisk: sinon.stub().callsArgWith(3, null, @fileUrl)
|
uploadFileFromDisk: sinon.stub().callsArgWith(3, null, @fileUrl)
|
||||||
copyFile: sinon.stub().callsArgWith(4, null)
|
copyFile: sinon.stub().callsArgWith(4, null, @fileUrl)
|
||||||
@tpdsUpdateSender =
|
@tpdsUpdateSender =
|
||||||
addDoc:sinon.stub().callsArg(1)
|
addDoc:sinon.stub().callsArg(1)
|
||||||
addFile:sinon.stub().callsArg(1)
|
addFile:sinon.stub().callsArg(1)
|
||||||
@@ -570,9 +570,9 @@ describe 'ProjectEntityHandler', ->
|
|||||||
@ProjectEntityHandler.addFile project_id, folder_id, fileName, {}, userId, (err, fileRef, parentFolder)->
|
@ProjectEntityHandler.addFile project_id, folder_id, fileName, {}, userId, (err, fileRef, parentFolder)->
|
||||||
|
|
||||||
it "should should send the change in project structure to the doc updater", (done) ->
|
it "should should send the change in project structure to the doc updater", (done) ->
|
||||||
@documentUpdaterHandler.updateProjectStructure = (project_id, user_id, oldDocs, newDocs, oldFiles, newFiles) =>
|
@documentUpdaterHandler.updateProjectStructure = (passed_project_id, passed_user_id, oldDocs, newDocs, oldFiles, newFiles) =>
|
||||||
project_id.should.equal project_id
|
passed_project_id.should.equal project_id
|
||||||
user_id.should.equal user_id
|
passed_user_id.should.equal userId
|
||||||
newFiles.length.should.equal 1
|
newFiles.length.should.equal 1
|
||||||
newFile = newFiles[0]
|
newFile = newFiles[0]
|
||||||
newFile.file.name.should.equal fileName
|
newFile.file.name.should.equal fileName
|
||||||
@@ -989,7 +989,8 @@ describe 'ProjectEntityHandler', ->
|
|||||||
oldFileRef = {name:fileName, _id:"oldFileRef"}
|
oldFileRef = {name:fileName, _id:"oldFileRef"}
|
||||||
|
|
||||||
beforeEach ->
|
beforeEach ->
|
||||||
@ProjectEntityHandler._putElement = sinon.stub().callsArgWith(4, null, {path:{fileSystem:"somehintg"}})
|
@fileSystemPath = "somehintg"
|
||||||
|
@ProjectEntityHandler._putElement = sinon.stub().callsArgWith(4, null, {path:{fileSystem: @fileSystemPath}})
|
||||||
|
|
||||||
it 'should copy the file in FileStoreHandler', (done)->
|
it 'should copy the file in FileStoreHandler', (done)->
|
||||||
@ProjectEntityHandler._putElement = sinon.stub().callsArgWith(4, null, {path:{fileSystem:"somehintg"}})
|
@ProjectEntityHandler._putElement = sinon.stub().callsArgWith(4, null, {path:{fileSystem:"somehintg"}})
|
||||||
@@ -1030,6 +1031,19 @@ describe 'ProjectEntityHandler', ->
|
|||||||
|
|
||||||
@ProjectEntityHandler.copyFileFromExistingProjectWithProject @project, folder_id, oldProject_id, oldFileRef, (err, fileRef, parentFolder)->
|
@ProjectEntityHandler.copyFileFromExistingProjectWithProject @project, folder_id, oldProject_id, oldFileRef, (err, fileRef, parentFolder)->
|
||||||
|
|
||||||
|
it "should should send the change in project structure to the doc updater", (done) ->
|
||||||
|
@documentUpdaterHandler.updateProjectStructure = (passed_project_id, passed_user_id, oldDocs, newDocs, oldFiles, newFiles) =>
|
||||||
|
passed_project_id.should.equal project_id
|
||||||
|
#passed_user_id.should.equal userId
|
||||||
|
newFiles.length.should.equal 1
|
||||||
|
newFile = newFiles[0]
|
||||||
|
newFile.file.name.should.equal fileName
|
||||||
|
newFile.path.should.equal @fileSystemPath
|
||||||
|
newFile.url.should.equal @fileUrl
|
||||||
|
done()
|
||||||
|
|
||||||
|
@ProjectEntityHandler.copyFileFromExistingProjectWithProject @project, folder_id, oldProject_id, oldFileRef, (err, fileRef, parentFolder)->
|
||||||
|
|
||||||
describe "renameEntity", ->
|
describe "renameEntity", ->
|
||||||
beforeEach ->
|
beforeEach ->
|
||||||
@entity_id = "4eecaffcbffa66588e000009"
|
@entity_id = "4eecaffcbffa66588e000009"
|
||||||
|
|||||||
Reference in New Issue
Block a user