delete-user.js 1.0 KB

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