20250321094339_update_saml_identifiers_indexes.mjs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import Helpers from './lib/helpers.mjs'
  2. const tags = ['saas']
  3. const indexesToDelete = [
  4. {
  5. key: {
  6. 'samlIdentifiers.externalUserId': 1,
  7. 'samlIdentifiers.providerId': 1,
  8. },
  9. name: 'samlIdentifiers.externalUserId_1_samlIdentifiers.providerId_1',
  10. sparse: true,
  11. },
  12. ]
  13. const newIndexes = [
  14. {
  15. key: {
  16. 'samlIdentifiers.providerId': 1,
  17. 'samlIdentifiers.externalUserId': 1,
  18. },
  19. name: 'samlIdentifiers.providerId_samlIdentifiers.externalUserId_1_1',
  20. sparse: true,
  21. },
  22. ]
  23. const migrate = async client => {
  24. const { db } = client
  25. await Helpers.addIndexesToCollection(db.users, newIndexes)
  26. await Helpers.dropIndexesFromCollection(db.users, indexesToDelete)
  27. }
  28. const rollback = async client => {
  29. const { db } = client
  30. try {
  31. await Helpers.addIndexesToCollection(db.users, indexesToDelete)
  32. await Helpers.dropIndexesFromCollection(db.users, newIndexes)
  33. } catch (err) {
  34. console.error('Something went wrong rolling back the migrations', err)
  35. }
  36. }
  37. export default {
  38. tags,
  39. migrate,
  40. rollback,
  41. }