mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-31 04:41:32 +02:00
Merge pull request #2661 from overleaf/em-convert-doc-to-file-ranges
Do not convert a doc to file when it has ranges GitOrigin-RevId: 52f0151e54c426178f80c34c6afac908bbf7b90d
This commit is contained in:
@@ -1521,7 +1521,7 @@ const ProjectEntityUpdateHandler = {
|
||||
convertDocToFile: wrapWithLock({
|
||||
beforeLock(next) {
|
||||
return function(projectId, docId, userId, callback) {
|
||||
DocumentUpdaterHandler.deleteDoc(projectId, docId, err => {
|
||||
DocumentUpdaterHandler.flushDocToMongo(projectId, docId, err => {
|
||||
if (err) {
|
||||
return callback(err)
|
||||
}
|
||||
@@ -1532,47 +1532,59 @@ const ProjectEntityUpdateHandler = {
|
||||
if (err) {
|
||||
return callback(err)
|
||||
}
|
||||
DocstoreManager.getDoc(projectId, docId, (err, docLines) => {
|
||||
if (err) {
|
||||
return callback(err)
|
||||
}
|
||||
FileWriter.writeLinesToDisk(
|
||||
projectId,
|
||||
docLines,
|
||||
(err, fsPath) => {
|
||||
DocstoreManager.getDoc(
|
||||
projectId,
|
||||
docId,
|
||||
(err, docLines, rev, version, ranges) => {
|
||||
if (err) {
|
||||
return callback(err)
|
||||
}
|
||||
if (!_.isEmpty(ranges)) {
|
||||
return callback(new Errors.DocHasRangesError({}))
|
||||
}
|
||||
DocumentUpdaterHandler.deleteDoc(projectId, docId, err => {
|
||||
if (err) {
|
||||
return callback(err)
|
||||
}
|
||||
FileStoreHandler.uploadFileFromDisk(
|
||||
FileWriter.writeLinesToDisk(
|
||||
projectId,
|
||||
{ name: doc.name },
|
||||
fsPath,
|
||||
(err, fileStoreUrl, fileRef) => {
|
||||
docLines,
|
||||
(err, fsPath) => {
|
||||
if (err) {
|
||||
return callback(err)
|
||||
}
|
||||
fs.unlink(fsPath, err => {
|
||||
if (err) {
|
||||
logger.warn(
|
||||
{ err, path: fsPath },
|
||||
'failed to clean up temporary file'
|
||||
)
|
||||
FileStoreHandler.uploadFileFromDisk(
|
||||
projectId,
|
||||
{ name: doc.name },
|
||||
fsPath,
|
||||
(err, fileStoreUrl, fileRef) => {
|
||||
if (err) {
|
||||
return callback(err)
|
||||
}
|
||||
fs.unlink(fsPath, err => {
|
||||
if (err) {
|
||||
logger.warn(
|
||||
{ err, path: fsPath },
|
||||
'failed to clean up temporary file'
|
||||
)
|
||||
}
|
||||
next(
|
||||
projectId,
|
||||
doc,
|
||||
docPath,
|
||||
fileRef,
|
||||
fileStoreUrl,
|
||||
userId,
|
||||
callback
|
||||
)
|
||||
})
|
||||
}
|
||||
next(
|
||||
projectId,
|
||||
doc,
|
||||
docPath,
|
||||
fileRef,
|
||||
fileStoreUrl,
|
||||
userId,
|
||||
callback
|
||||
)
|
||||
})
|
||||
)
|
||||
}
|
||||
)
|
||||
}
|
||||
)
|
||||
})
|
||||
})
|
||||
}
|
||||
)
|
||||
}
|
||||
)
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user