Merge pull request #3678 from overleaf/jpa-back-fill-deleted-files-handle-duplicates

[scripts] back_fill_deleted_files: handle duplicate deleted files

GitOrigin-RevId: 3f2f1b662727d61d2da2800ad0d635b65562164b
This commit is contained in:
Jakob Ackermann
2021-02-20 03:04:25 +00:00
committed by Copybot
parent 450d744f9a
commit 30cf22c8a9
2 changed files with 27 additions and 5 deletions
@@ -46,12 +46,23 @@ async function processProject(project) {
async function backFillFiles(project) {
const projectId = project._id
filterDuplicatesInPlace(project)
project.deletedFiles.forEach(file => {
file.projectId = projectId
})
await db.deletedFiles.insertMany(project.deletedFiles)
}
function filterDuplicatesInPlace(project) {
const fileIds = new Set()
project.deletedFiles = project.deletedFiles.filter(file => {
const id = file._id.toString()
if (fileIds.has(id)) return false
fileIds.add(id)
return true
})
}
async function cleanupProject(project) {
await db.projects.updateOne(
{ _id: project._id },