sso_id_migration_check.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. process.env.MONGO_SOCKET_TIMEOUT = '300000'
  2. process.env.MONGO_CONNECTION_STRING =
  3. process.env.READ_ONLY_MONGO_CONNECTION_STRING
  4. const { waitForDb } = require('../app/src/infrastructure/mongodb')
  5. const SAMLUserIdMigrationHandler = require('../modules/overleaf-integration/app/src/SAML/SAMLUserIdMigrationHandler')
  6. const institutionId = parseInt(process.argv[2])
  7. if (isNaN(institutionId)) throw new Error('No institution id')
  8. const emitUsers = process.argv.includes('--emit-users')
  9. console.log('Checking SSO user ID migration for institution:', institutionId)
  10. waitForDb()
  11. .then(main)
  12. .catch(error => {
  13. console.error(error)
  14. process.exit(1)
  15. })
  16. async function main() {
  17. const result = await SAMLUserIdMigrationHandler.promises.checkMigration(
  18. institutionId
  19. )
  20. if (emitUsers) {
  21. console.log(
  22. `\nMigrated: ${result.migrated}\nNot migrated: ${result.notMigrated}\nMultiple Identifiers: ${result.multipleIdentifiers}`
  23. )
  24. }
  25. console.log(
  26. `\nMigrated: ${result.migrated.length}\nNot migrated: ${result.notMigrated.length}\nMultiple Identifiers: ${result.multipleIdentifiers.length}`
  27. )
  28. process.exit()
  29. }