fix: change from task to a DB transaction
This commit is contained in:
parent
d58874cf02
commit
7a516cedb9
1 changed files with 10 additions and 9 deletions
|
|
@ -28,7 +28,7 @@ return db.result(userTokenSql, [name])
|
||||||
.then(tokens => {
|
.then(tokens => {
|
||||||
const tokenClause = _.map(pgp.as.text, tokens).join(',')
|
const tokenClause = _.map(pgp.as.text, tokens).join(',')
|
||||||
|
|
||||||
return db.task('get-touched-customers', t => {
|
return db.tx(t => {
|
||||||
const smsOverride = t.any(`UPDATE customers SET sms_override_by = null WHERE sms_override_by IN ($1^) RETURNING *`, tokenClause)
|
const smsOverride = t.any(`UPDATE customers SET sms_override_by = null WHERE sms_override_by IN ($1^) RETURNING *`, tokenClause)
|
||||||
const idDataOverride = t.any(`UPDATE customers SET id_card_data_override_by = null WHERE id_card_data_override_by IN ($1^) RETURNING *`, tokenClause)
|
const idDataOverride = t.any(`UPDATE customers SET id_card_data_override_by = null WHERE id_card_data_override_by IN ($1^) RETURNING *`, tokenClause)
|
||||||
const idPhotoOverride = t.any(`UPDATE customers SET id_card_photo_override_by = null WHERE id_card_photo_override_by IN ($1^) RETURNING *`, tokenClause)
|
const idPhotoOverride = t.any(`UPDATE customers SET id_card_photo_override_by = null WHERE id_card_photo_override_by IN ($1^) RETURNING *`, tokenClause)
|
||||||
|
|
@ -36,27 +36,28 @@ return db.result(userTokenSql, [name])
|
||||||
const sanctionsOverride = t.any(`UPDATE customers SET sanctions_override_by = null WHERE sanctions_override_by IN ($1^) RETURNING *`, tokenClause)
|
const sanctionsOverride = t.any(`UPDATE customers SET sanctions_override_by = null WHERE sanctions_override_by IN ($1^) RETURNING *`, tokenClause)
|
||||||
const authorizedOverride = t.any(`UPDATE customers SET authorized_override_by = null WHERE authorized_override_by IN ($1^) RETURNING *`, tokenClause)
|
const authorizedOverride = t.any(`UPDATE customers SET authorized_override_by = null WHERE authorized_override_by IN ($1^) RETURNING *`, tokenClause)
|
||||||
const usSsnOverride = t.any(`UPDATE customers SET us_ssn_override_by = null WHERE us_ssn_override_by IN ($1^)`, tokenClause)
|
const usSsnOverride = t.any(`UPDATE customers SET us_ssn_override_by = null WHERE us_ssn_override_by IN ($1^)`, tokenClause)
|
||||||
|
const tokenDeletion = t.result(`DELETE FROM user_tokens WHERE name = $1 RETURNING *`, [name], r => r.rowCount)
|
||||||
|
|
||||||
return Promise.all([
|
return t.batch([
|
||||||
smsOverride,
|
smsOverride,
|
||||||
idDataOverride,
|
idDataOverride,
|
||||||
idPhotoOverride,
|
idPhotoOverride,
|
||||||
cameraOverride,
|
cameraOverride,
|
||||||
sanctionsOverride,
|
sanctionsOverride,
|
||||||
authorizedOverride,
|
authorizedOverride,
|
||||||
usSsnOverride
|
usSsnOverride,
|
||||||
|
tokenDeletion
|
||||||
])
|
])
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
.then(result => {
|
.then(result => {
|
||||||
const count = _.sumBy(_.size, result)
|
const occurrences = result.slice(0, result.length - 1)
|
||||||
|
const count = _.sumBy(_.size, occurrences)
|
||||||
if (count > 0) {
|
if (count > 0) {
|
||||||
console.log(`Removed ${count} ${count === 1 ? `entry` : `entries`} on the customer table, related with the user ${name}!`)
|
console.log(`Removed ${count} ${count === 1 ? `entry` : `entries`} on the customer table, related with the user ${name}!`)
|
||||||
}
|
}
|
||||||
})
|
return result[result.length - 1]
|
||||||
.then(() => {
|
|
||||||
const sql = `DELETE FROM user_tokens WHERE name = $1 RETURNING *`
|
|
||||||
return db.result(sql, [name], r => r.rowCount)
|
|
||||||
})
|
})
|
||||||
.then(res => console.log(`User ${name} (with ${res === 1 ? `token` : `tokens`} associated) successfully removed from the system!`))
|
.then(res => console.log(`User ${name} (with ${res === 1 ? `token` : `tokens`} associated) successfully removed from the system!`))
|
||||||
.then(() => process.exit(0))
|
.catch(console.error)
|
||||||
|
.finally(() => process.exit(0))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue