From 42162c80155addc87d2e67b2418ca3a7ec37fc0d Mon Sep 17 00:00:00 2001 From: mintphin Date: Fri, 30 Oct 2020 12:21:02 -0300 Subject: [PATCH] TOOLS: Created demote tool based on mark-admin.ts (#6776) * TOOLS: Created demote tool based on mark-admin.ts * TOOLS: Removed trailing whitespace on demote-admin.ts --- src/tools/demote-admin.ts | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/tools/demote-admin.ts diff --git a/src/tools/demote-admin.ts b/src/tools/demote-admin.ts new file mode 100644 index 000000000..5e3e64bff --- /dev/null +++ b/src/tools/demote-admin.ts @@ -0,0 +1,32 @@ +import { initDb } from '../db/postgre'; +import { getRepository } from 'typeorm'; +import { User } from '../models/entities/user'; + +async function main(username: string) { + if (!username) throw `username required`; + username = username.replace(/^@/, ''); + + await initDb(); + const Users = getRepository(User); + + const res = await Users.update({ + usernameLower: username.toLowerCase(), + host: null + }, { + isAdmin: false + }); + + if (res.affected !== 1) { + throw 'Failed'; + } +} + +const args = process.argv.slice(2); + +main(args[0]).then(() => { + console.log('Success'); + process.exit(0); +}).catch(e => { + console.error(`Error: ${e.message || e}`); + process.exit(1); +});