clear_institution_notifications.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. const { promisify } = require('util')
  2. const InstitutionsManager = require('../app/src/Features/Institutions/InstitutionsManager')
  3. const sleep = promisify(setTimeout)
  4. async function main() {
  5. const institutionId = parseInt(process.argv[2])
  6. if (isNaN(institutionId)) throw new Error('No institution id')
  7. const dryRun = process.argv.includes('--dry-run')
  8. console.log('Deleting notifications of institution', institutionId)
  9. const preview = await InstitutionsManager.promises.clearInstitutionNotifications(
  10. institutionId,
  11. true
  12. )
  13. console.log('--- Preview ---')
  14. console.log(JSON.stringify(preview, null, 4))
  15. console.log('---------------')
  16. if (dryRun) {
  17. console.log('Exiting early due to --dry-run flag')
  18. return
  19. }
  20. console.log('Exit in the next 10s in case these numbers are off.')
  21. await sleep(10 * 1000)
  22. const cleared = await InstitutionsManager.promises.clearInstitutionNotifications(
  23. institutionId,
  24. false
  25. )
  26. console.log('--- Cleared ---')
  27. console.log(JSON.stringify(cleared, null, 4))
  28. console.log('---------------')
  29. }
  30. if (require.main === module) {
  31. main()
  32. .then(() => {
  33. console.log('Done.')
  34. process.exit(0)
  35. })
  36. .catch(err => {
  37. console.error(err)
  38. process.exit(1)
  39. })
  40. }