delete_subscriptions.mjs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import { Subscription } from '../app/src/models/Subscription.js'
  2. import SubscriptionUpdater from '../app/src/Features/Subscription/SubscriptionUpdater.js'
  3. import minimist from 'minimist'
  4. import { waitForDb } from '../app/src/infrastructure/mongodb.js'
  5. import mongodb from 'mongodb-legacy'
  6. const { ObjectId } = mongodb
  7. const run = async () => {
  8. for (const id of ids) {
  9. console.log('id', id)
  10. const subscription = await Subscription.findOne({ _id: new ObjectId(id) })
  11. await SubscriptionUpdater.promises.deleteSubscription(
  12. subscription,
  13. deleterData
  14. )
  15. console.log('Deleted subscription', id)
  16. }
  17. }
  18. let ids, deleterData
  19. const setup = () => {
  20. const argv = minimist(process.argv.slice(2))
  21. ids = argv.ids
  22. if (!ids) {
  23. console.error('No ids given')
  24. process.exit(1)
  25. }
  26. ids = ids.split(',')
  27. const deleterId = argv.deleterId
  28. if (!deleterId) {
  29. console.error('No deleterId given')
  30. process.exit(1)
  31. }
  32. deleterData = { id: new ObjectId(deleterId) }
  33. }
  34. setup()
  35. waitForDb()
  36. .then(run)
  37. .then(() => {
  38. process.exit(0)
  39. })
  40. .catch(err => {
  41. console.log('Aiee, something went wrong!', err)
  42. process.exit(1)
  43. })