From 346afb9e1c69df5d745855af72303de3a466db4e Mon Sep 17 00:00:00 2001 From: Tim Down <158919+timdown@users.noreply.github.com> Date: Wed, 26 Mar 2025 12:19:58 +0000 Subject: [PATCH] Merge pull request #24448 from overleaf/td-deleted-users-email-index Add user email indexes on deletedUsers collection GitOrigin-RevId: 032b8b189b67b9f491b47438c3b2e0cbfd7b8294 --- ...2055_create_deletedUsers_email_indexes.mjs | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 services/web/migrations/20250321112055_create_deletedUsers_email_indexes.mjs diff --git a/services/web/migrations/20250321112055_create_deletedUsers_email_indexes.mjs b/services/web/migrations/20250321112055_create_deletedUsers_email_indexes.mjs new file mode 100644 index 0000000000..3c00381104 --- /dev/null +++ b/services/web/migrations/20250321112055_create_deletedUsers_email_indexes.mjs @@ -0,0 +1,47 @@ +/* eslint-disable no-unused-vars */ + +import Helpers from './lib/helpers.mjs' + +const tags = ['server-ce', 'server-pro', 'saas'] + +const indexes = [ + { + key: { + 'user.email': 1, + }, + name: 'user.email_1', + }, + { + key: { + 'user.emails.email': 1, + }, + partialFilterExpression: { + 'user.emails.email': { + $exists: true, + }, + }, + name: 'user.emails.email_1', + }, +] + +const migrate = async client => { + const { db } = client + + await Helpers.addIndexesToCollection(db.deletedUsers, indexes) +} + +const rollback = async client => { + const { db } = client + + try { + await Helpers.dropIndexesFromCollection(db.deletedUsers, indexes) + } catch (err) { + console.error('Something went wrong rolling back the migrations', err) + } +} + +export default { + tags, + migrate, + rollback, +}