delete_subscriptions.mjs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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 mongodb from 'mongodb-legacy'
  5. const { ObjectId } = mongodb
  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. try {
  35. await run()
  36. process.exit(0)
  37. } catch (err) {
  38. console.error('Aiee, something went wrong!', err)
  39. process.exit(1)
  40. }