From 6501314616a56ed3fd11a5bb6cf40912036eed3e Mon Sep 17 00:00:00 2001 From: Miguel Serrano Date: Wed, 2 Apr 2025 12:01:18 +0200 Subject: [PATCH] Merge pull request #24445 from overleaf/msm-saml-identifiers-migration [web] Update user.samlIdentifiers compound index GitOrigin-RevId: f14da17fa89c89f0fc75df074b3f6ca04b479efb --- ...094339_update_saml_identifiers_indexes.mjs | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 services/web/migrations/20250321094339_update_saml_identifiers_indexes.mjs diff --git a/services/web/migrations/20250321094339_update_saml_identifiers_indexes.mjs b/services/web/migrations/20250321094339_update_saml_identifiers_indexes.mjs new file mode 100644 index 0000000000..9bfa982f1a --- /dev/null +++ b/services/web/migrations/20250321094339_update_saml_identifiers_indexes.mjs @@ -0,0 +1,47 @@ +import Helpers from './lib/helpers.mjs' + +const tags = ['saas'] + +const indexesToDelete = [ + { + key: { + 'samlIdentifiers.externalUserId': 1, + 'samlIdentifiers.providerId': 1, + }, + name: 'samlIdentifiers.externalUserId_1_samlIdentifiers.providerId_1', + sparse: true, + }, +] + +const newIndexes = [ + { + key: { + 'samlIdentifiers.providerId': 1, + 'samlIdentifiers.externalUserId': 1, + }, + name: 'samlIdentifiers.providerId_samlIdentifiers.externalUserId_1_1', + sparse: true, + }, +] + +const migrate = async client => { + const { db } = client + await Helpers.addIndexesToCollection(db.users, newIndexes) + await Helpers.dropIndexesFromCollection(db.users, indexesToDelete) +} + +const rollback = async client => { + const { db } = client + try { + await Helpers.addIndexesToCollection(db.users, indexesToDelete) + await Helpers.dropIndexesFromCollection(db.users, newIndexes) + } catch (err) { + console.error('Something went wrong rolling back the migrations', err) + } +} + +export default { + tags, + migrate, + rollback, +}