overleaf/services/web/modules/server-ce-scripts/scripts/delete-user.js
Jakob Ackermann 8742a29d80 Merge pull request #4315 from overleaf/jpa-import-ce-scripts
[scripts] import scripts from server-ce and add tests

GitOrigin-RevId: 07e7e15aa86030ccd3eca40ed40e5492622dc2d1
2021-07-14 12:41:10 +00:00

43 lines
1 KiB
JavaScript

const { waitForDb } = require('../../../app/src/infrastructure/mongodb')
const UserGetter = require('../../../app/src/Features/User/UserGetter')
const UserDeleter = require('../../../app/src/Features/User/UserDeleter')
async function main() {
await waitForDb()
const email = (process.argv.slice(2).pop() || '').replace(/^--email=/, '')
if (!email) {
console.error(`Usage: node ${__filename} --email=joe@example.com`)
process.exit(1)
}
await new Promise((resolve, reject) => {
UserGetter.getUser({ email }, function (error, user) {
if (error) {
return reject(error)
}
if (!user) {
console.log(
`user ${email} not in database, potentially already deleted`
)
return resolve()
}
UserDeleter.deleteUser(user._id, function (err) {
if (err) {
return reject(err)
}
resolve()
})
})
})
}
main()
.then(() => {
console.error('Done.')
process.exit(0)
})
.catch(err => {
console.error(err)
process.exit(1)
})