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