Просмотр исходного кода

Merge pull request #24448 from overleaf/td-deleted-users-email-index

Add user email indexes on deletedUsers collection

GitOrigin-RevId: 032b8b189b67b9f491b47438c3b2e0cbfd7b8294
Tim Down 1 год назад
Родитель
Сommit
25d1b2a24d
1 измененных файлов с 47 добавлено и 0 удалено
  1. 47 0
      services/web/migrations/20250321112055_create_deletedUsers_email_indexes.mjs

+ 47 - 0
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,
+}