bug 1616983: delete-user script for when we need it

This commit is contained in:
Luke Crouch 2020-03-24 11:22:41 -05:00
Родитель f150692171
Коммит 1fc2983ad9
2 изменённых файлов: 36 добавлений и 0 удалений

Просмотреть файл

@ -428,6 +428,10 @@ const DB = {
await knex("subscribers").where("fxa_uid", fxaUID).del();
},
async deleteEmailAddressesByUid(uid) {
await knex("email_addresses").where({"subscriber_id": uid}).del();
},
async createConnection() {
if (knex === null) {
knex = Knex(knexConfig);

32
scripts/delete-user.js Normal file
Просмотреть файл

@ -0,0 +1,32 @@
"use strict";
const readline = require("readline");
const DB = require("../db/DB");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
(async () => {
rl.question("What FXA primary email address? ", first_answer => {
rl.question("Please re-type the email address to confirm. ", async (second_answer) => {
if (first_answer !== second_answer) {
console.error("Email addresses do not match.");
process.exit(1);
}
const subscriber = await DB.getSubscriberByEmail(second_answer);
if (!subscriber) {
console.error("Could not find subscriber.");
process.exit(1);
}
await DB.deleteEmailAddressesByUid(subscriber.id);
await DB.deleteSubscriberByFxAUID(subscriber.fxa_uid);
console.log("Deleted email_addresses and subscribers records.");
process.exit();
});
});
})();