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:
parent
0fab0c416d
commit
42162c8015
1 changed files with 32 additions and 0 deletions
32
src/tools/demote-admin.ts
Normal file
32
src/tools/demote-admin.ts
Normal 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);
|
||||
});
|
Loading…
Reference in a new issue