mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-27 02:51:57 +02:00
Merge pull request #9795 from overleaf/msm-audit-log-migration-fix
[web/scripts] Fix audit log migration script GitOrigin-RevId: 55c90520240bef92a4be1925809cac178c8b3ee9
This commit is contained in:
@@ -44,6 +44,18 @@ async function main(options) {
|
||||
},
|
||||
{ _id: 1, auditLog: 1 }
|
||||
)
|
||||
|
||||
// most projects are processed after its owner has been processed, but only those
|
||||
// users with an existing `auditLog` have been taken into consideration, leaving
|
||||
// some projects orphan. This batched update processes all remaining projects.
|
||||
await batchedUpdate(
|
||||
'projects',
|
||||
{ auditLog: { $exists: true } },
|
||||
async (x, projects) => {
|
||||
await processProjectsBatch(projects, options)
|
||||
},
|
||||
{ _id: 1, auditLog: 1 }
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,6 +82,16 @@ async function processUser(user, options) {
|
||||
projects.forEach(project => processProject(project, options))
|
||||
}
|
||||
|
||||
async function processProjectsBatch(projects, options) {
|
||||
await promiseMapWithLimit(
|
||||
options.writeConcurrency,
|
||||
projects,
|
||||
async project => {
|
||||
await processProject(project, options)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
async function processProject(project, options) {
|
||||
const entries = project.auditLog.map(log => ({
|
||||
...log,
|
||||
|
||||
Reference in New Issue
Block a user