delete_subscriptions.js 1.1 KB

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