fix(deletion): user delete bugs

Correct lookup in GDPR script, and address a TypeError when deleting a user with no tasks
This commit is contained in:
Sabe Jones
2018-12-14 00:54:59 +00:00
parent 1d3db244ba
commit 979497dd35
2 changed files with 11 additions and 7 deletions

View File

@@ -27,12 +27,13 @@ async function _deleteAmplitudeData (userId, email) {
if (response) console.log(`${response.status} ${response.statusText}`);
}
async function _deleteHabiticaData (user) {
async function _deleteHabiticaData (user, email) {
await User.update(
{_id: user._id},
{$set: {
'auth.local.passwordHashMethod': 'bcrypt',
'auth.local.email': email,
'auth.local.hashed_password': '$2a$10$QDnNh1j1yMPnTXDEOV38xOePEWFd4X8DSYwAM8XTmqmacG5X0DKjW',
'auth.local.passwordHashMethod': 'bcrypt',
}}
);
const response = await axios.delete(
@@ -61,8 +62,8 @@ async function _processEmailAddress (email) {
const users = await User.find({
$or: [
{'auth.local.email': emailRegex},
{'auth.facebook.emails.value': emailRegex},
{'auth.google.emails.value': emailRegex},
{'auth.facebook.emails': emailRegex},
{'auth.google.emails': emailRegex},
]},
{
_id: 1,
@@ -75,7 +76,7 @@ async function _processEmailAddress (email) {
} else {
for (const user of users) {
await _deleteAmplitudeData(user._id, email); // eslint-disable-line no-await-in-loop
await _deleteHabiticaData(user); // eslint-disable-line no-await-in-loop
await _deleteHabiticaData(user, email); // eslint-disable-line no-await-in-loop
}
}
}