Merge pull request #18906 from overleaf/em-migrate-existing-histories-2

History ranges migration script - second attempt

GitOrigin-RevId: 60a2c04e2a72e76a58e9e179fefc4186a96fde32
This commit is contained in:
Eric Mc Sween
2024-06-18 10:00:00 -04:00
committed by Copybot
parent 9f0f42a012
commit e73fdfba63
28 changed files with 379 additions and 187 deletions

View File

@@ -15,6 +15,7 @@ const { Project } = require('../../models/Project')
const ProjectEntityHandler = require('./ProjectEntityHandler')
const ProjectGetter = require('./ProjectGetter')
const ProjectLocator = require('./ProjectLocator')
const ProjectOptionsHandler = require('./ProjectOptionsHandler')
const ProjectUpdateHandler = require('./ProjectUpdateHandler')
const ProjectEntityMongoUpdateHandler = require('./ProjectEntityMongoUpdateHandler')
const SafePath = require('./SafePath')
@@ -154,6 +155,8 @@ function getDocContext(projectId, docId, callback) {
}
const ProjectEntityUpdateHandler = {
LOCK_NAMESPACE,
updateDocLines(
projectId,
docId,
@@ -1394,7 +1397,7 @@ const ProjectEntityUpdateHandler = {
// This doesn't directly update project structure but we need to take the lock
// to prevent anything else being queued before the resync update
resyncProjectHistory: wrapWithLock(
(projectId, callback) =>
(projectId, opts, callback) =>
ProjectGetter.getProject(
projectId,
{ rootFolder: true, overleaf: true },
@@ -1449,7 +1452,21 @@ const ProjectEntityUpdateHandler = {
projectHistoryId,
docs,
files,
callback
opts,
err => {
if (err) {
return callback(err)
}
if (opts.historyRangesMigration) {
ProjectOptionsHandler.setHistoryRangesSupport(
projectId,
opts.historyRangesMigration === 'forwards',
callback
)
} else {
callback()
}
}
)
}
)