Merge pull request #9563 from overleaf/em-tpds-merge-metadata

Return metadata from TPDS update endpoint in web

GitOrigin-RevId: 9154be67f7f975807c6e986a5d6fb66013c9a384
This commit is contained in:
Eric Mc Sween
2022-09-12 15:59:16 +01:00
committed by Copybot
parent ceb000eb2b
commit 19c73cbd73
13 changed files with 236 additions and 200 deletions

View File

@@ -343,6 +343,7 @@ const ProjectEntityUpdateHandler = {
if (err != null) {
return callback(err)
}
doc.rev = rev
next(
projectId,
folderId,
@@ -576,7 +577,7 @@ const ProjectEntityUpdateHandler = {
projectId,
fileId,
newFileRef,
(err, oldFileRef, project, path, newProject) => {
(err, oldFileRef, project, path, newProject, newFileRef) => {
if (err != null) {
return callback(err)
}
@@ -597,18 +598,12 @@ const ProjectEntityUpdateHandler = {
project.overleaf &&
project.overleaf.history &&
project.overleaf.history.id
// Increment the rev for an in-place update (with the same path) so the third-party-datastore
// knows this is a new file.
// Ideally we would get this from ProjectEntityMongoUpdateHandler.replaceFileWithNew
// but it returns the original oldFileRef (after incrementing the rev value in mongo),
// so we add 1 to the rev from that. This isn't atomic and relies on the lock
// but it is acceptable for now.
TpdsUpdateSender.addFile(
{
projectId: project._id,
fileId: newFileRef._id,
path: path.fileSystem,
rev: oldFileRef.rev + 1,
rev: newFileRef.rev,
projectName: project.name,
folderId,
},
@@ -624,7 +619,12 @@ const ProjectEntityUpdateHandler = {
userId,
{ oldFiles, newFiles, newProject },
source,
callback
err => {
if (err) {
return callback(err)
}
callback(null, newFileRef)
}
)
}
)
@@ -670,6 +670,7 @@ const ProjectEntityUpdateHandler = {
if (err != null) {
return callback(err)
}
doc.rev = rev
ProjectEntityMongoUpdateHandler.replaceFileWithDoc(
projectId,
existingFile._id,
@@ -936,7 +937,7 @@ const ProjectEntityUpdateHandler = {
fileStoreUrl,
folderId,
source,
err => {
(err, newFileRef) => {
if (err != null) {
return callback(err)
}