mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-14 14:13:43 +01:00
Updated mongo index for ProjectDeleter (#23138)
GitOrigin-RevId: aa26f29b8917b0d6ff836cc03f82b74066a7dcd4
This commit is contained in:
committed by
Copybot
parent
ff9ee2f5a9
commit
cd48caeaa1
@@ -90,7 +90,7 @@ async function expireDeletedProjectsAfterDuration() {
|
|||||||
'deleterData.deletedAt': {
|
'deleterData.deletedAt': {
|
||||||
$lt: new Date(moment().subtract(EXPIRE_PROJECTS_AFTER_DAYS, 'days')),
|
$lt: new Date(moment().subtract(EXPIRE_PROJECTS_AFTER_DAYS, 'days')),
|
||||||
},
|
},
|
||||||
project: { $ne: null },
|
project: { $type: 'object' },
|
||||||
},
|
},
|
||||||
{ 'deleterData.deletedProjectId': 1 }
|
{ 'deleterData.deletedProjectId': 1 }
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -0,0 +1,44 @@
|
|||||||
|
/* eslint-disable no-unused-vars */
|
||||||
|
|
||||||
|
import Helpers from './lib/helpers.mjs'
|
||||||
|
|
||||||
|
const tags = ['server-ce', 'server-pro', 'saas']
|
||||||
|
|
||||||
|
const oldIndex = {
|
||||||
|
key: {
|
||||||
|
'deleterData.deletedAt': 1,
|
||||||
|
},
|
||||||
|
name: 'deleterData.deletedAt_1',
|
||||||
|
}
|
||||||
|
|
||||||
|
const newIndex = {
|
||||||
|
key: {
|
||||||
|
'deleterData.deletedAt': 1,
|
||||||
|
},
|
||||||
|
name: 'deleterData.deletedAt_1',
|
||||||
|
partialFilterExpression: { project: { $type: 'object' } },
|
||||||
|
}
|
||||||
|
|
||||||
|
const migrate = async client => {
|
||||||
|
const { db } = client
|
||||||
|
|
||||||
|
await Helpers.dropIndexesFromCollection(db.deletedProjects, [oldIndex])
|
||||||
|
await Helpers.addIndexesToCollection(db.deletedProjects, [newIndex])
|
||||||
|
}
|
||||||
|
|
||||||
|
const rollback = async client => {
|
||||||
|
const { db } = client
|
||||||
|
|
||||||
|
try {
|
||||||
|
await Helpers.dropIndexesFromCollection(db.deletedProjects, [newIndex])
|
||||||
|
await Helpers.addIndexesToCollection(db.deletedProjects, [oldIndex])
|
||||||
|
} catch (err) {
|
||||||
|
console.error('Something went wrong rolling back the migrations', err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default {
|
||||||
|
tags,
|
||||||
|
migrate,
|
||||||
|
rollback,
|
||||||
|
}
|
||||||
@@ -397,7 +397,7 @@ describe('ProjectDeleter', function () {
|
|||||||
$lt: new Date(moment().subtract(90, 'days')),
|
$lt: new Date(moment().subtract(90, 'days')),
|
||||||
},
|
},
|
||||||
project: {
|
project: {
|
||||||
$ne: null,
|
$type: 'object',
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
.chain('exec')
|
.chain('exec')
|
||||||
|
|||||||
Reference in New Issue
Block a user