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
This commit is contained in:
mintphin 2020-10-30 12:21:02 -03:00 committed by GitHub
parent 0fab0c416d
commit 42162c8015
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

32
src/tools/demote-admin.ts Normal file
View file

@ -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);
});