delete-user.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. const { waitForDb } = require('../../../app/src/infrastructure/mongodb')
  2. const UserGetter = require('../../../app/src/Features/User/UserGetter')
  3. const UserDeleter = require('../../../app/src/Features/User/UserDeleter')
  4. async function main() {
  5. await waitForDb()
  6. const email = (process.argv.slice(2).pop() || '').replace(/^--email=/, '')
  7. if (!email) {
  8. console.error(`Usage: node ${__filename} --email=joe@example.com`)
  9. process.exit(1)
  10. }
  11. await new Promise((resolve, reject) => {
  12. UserGetter.getUser({ email }, { _id: 1 }, function (error, user) {
  13. if (error) {
  14. return reject(error)
  15. }
  16. if (!user) {
  17. console.log(
  18. `user ${email} not in database, potentially already deleted`
  19. )
  20. return resolve()
  21. }
  22. UserDeleter.deleteUser(user._id, function (err) {
  23. if (err) {
  24. return reject(err)
  25. }
  26. resolve()
  27. })
  28. })
  29. })
  30. }
  31. main()
  32. .then(() => {
  33. console.error('Done.')
  34. process.exit(0)
  35. })
  36. .catch(err => {
  37. console.error(err)
  38. process.exit(1)
  39. })