[web] switch query for hard-deleting users and add index (#22920)

* [web] switch query for hard-deleting users and add index

Co-authored-by: Dr. Sasha Göbbels <sasha.goebbels@overleaf.com>

* [web] fix unit tests

---------

Co-authored-by: Dr. Sasha Göbbels <sasha.goebbels@overleaf.com>
GitOrigin-RevId: a7fd2a590351d2e0d60c0032ca78d457ef815e41
This commit is contained in:
Jakob Ackermann
2025-03-10 09:16:14 +00:00
committed by Copybot
parent dacbf4b634
commit 3a98940324
3 changed files with 31 additions and 4 deletions

View File

@@ -95,9 +95,7 @@ async function expireDeletedUsersAfterDuration() {
'deleterData.deletedAt': {
$lt: new Date(moment().subtract(DURATION, 'days')),
},
user: {
$ne: null,
},
user: { $type: 'object' },
}).exec()
if (deletedUsers.length === 0) {

View File

@@ -0,0 +1,29 @@
import Helpers from './lib/helpers.mjs'
const tags = ['server-ce', 'server-pro', 'saas']
const index = {
key: { 'deleterData.deletedAt': 1 },
partialFilterExpression: { user: { $type: 'object' } },
name: 'deleterData_deletedAt_user_1',
}
const migrate = async client => {
const { db } = client
await Helpers.addIndexesToCollection(db.deletedUsers, [index])
}
const rollback = async client => {
const { db } = client
try {
await Helpers.dropIndexesFromCollection(db.deletedUsers, [index])
} catch (err) {
console.error('Something went wrong rolling back the migrations', err)
}
}
export default {
tags,
migrate,
rollback,
}

View File

@@ -553,7 +553,7 @@ describe('UserDeleter', function () {
$lt: new Date(moment().subtract(90, 'days')),
},
user: {
$ne: null,
$type: 'object',
},
})
.chain('exec')