diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 5dd72cc460932354e2c81da0409b3dd78ff61f8a..2a41c12c7ecd2c9b37b2aeeb4417b38eeecad8e0 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -6,7 +6,6 @@ /.github/ @syuilo @AyaMorisawa @acid-chicken /.vscode/ @acid-chicken /assets/ @syuilo # @tamaina -/cli/ @syuilo /docs/ @syuilo /docs/*.en.md @AyaMorisawa # @skid9000 # /docs/*.fr.md @BoFFire diff --git a/docs/docker.en.md b/docs/docker.en.md index a1ddecf62b2e794e4e249b5fce791c0a07bf3c5b..8920feb60bdc1dcec385f296244e5b1eb1dec922 100644 --- a/docs/docker.en.md +++ b/docs/docker.en.md @@ -88,7 +88,7 @@ Just `docker-compose up -d`. GLHF! 7. `docker-compose stop && docker-compose up -d` ### How to execute [cli commands](manage.en.md): -`docker-compose run --rm web node cli/mark-admin @example` +`docker-compose run --rm web node built/tools/mark-admin @example` ---------------------------------------------------------------- diff --git a/docs/docker.fr.md b/docs/docker.fr.md index c43ab4f650f16a85e004dfdee49b64ed54f80dde..d2795a59083358dbc21cac4c436e152d0f25fb7a 100644 --- a/docs/docker.fr.md +++ b/docs/docker.fr.md @@ -55,7 +55,7 @@ Utilisez la commande `docker-compose up -d`. GLHF! 7. `docker-compose stop && docker-compose up -d` ### Comment exécuter des [commandes](manage.fr.md) -`docker-compose run --rm web node cli/mark-admin @example` +`docker-compose run --rm web node built/tools/mark-admin @example` ### Configuration d'ElasticSearch (pour la fonction de recherche) *1.* Préparation de l'environnement diff --git a/docs/docker.ja.md b/docs/docker.ja.md index cc26caadf4036eb67251cddb15491d4b93b2a95b..2e2abfbed7a84765b998d47d747738f36aed328a 100644 --- a/docs/docker.ja.md +++ b/docs/docker.ja.md @@ -89,7 +89,7 @@ docker-compose run --rm web yarn run init ### cliコマンドを実行ã™ã‚‹æ–¹æ³•: -`docker-compose run --rm web node cli/mark-admin @example` +`docker-compose run --rm web node built/tools/mark-admin @example` ---------------------------------------------------------------- diff --git a/docs/manage.en.md b/docs/manage.en.md index 85c965a1665cc691cca521f7ec4f43f252775804..d310e9531f007571a290713b75479fc56b83d5b4 100644 --- a/docs/manage.en.md +++ b/docs/manage.en.md @@ -5,14 +5,10 @@ coming soon ## Mark as 'admin' user ``` shell -node cli/mark-admin (User-ID or Username) +node built/tools/mark-admin (Username) ``` e.g. ``` shell -# By id -node cli/mark-admin 57d01a501fdf2d07be417afe - -# By username -node cli/suspend @syuilo +node built/tools/mark-admin @syuilo ``` diff --git a/docs/manage.fr.md b/docs/manage.fr.md index bf38e5ed97d117ca0a14b332717e6a2640cb63dd..0b2b7ffc16fe22d5ee67b311ecc39114a7114806 100644 --- a/docs/manage.fr.md +++ b/docs/manage.fr.md @@ -5,14 +5,10 @@ coming soon ## Marquer un utilisateur en tant que 'admin' ``` shell -node cli/mark-admin (ID utilisateur ou nom d'utilisateur) +node built/tools/mark-admin (nom d'utilisateur) ``` Exemple : ``` shell -# Par id -node cli/mark-admin 57d01a501fdf2d07be417afe - -# Par nom d'utilisateur -node cli/suspend @syuilo +node built/tools/mark-admin @syuilo ``` diff --git a/docs/manage.ja.md b/docs/manage.ja.md index 4a9a3e261f413e4340071479e76390f5a04c68e0..55596add107c2a83b0e84bf542810515606968e9 100644 --- a/docs/manage.ja.md +++ b/docs/manage.ja.md @@ -5,14 +5,10 @@ coming soon ## 管ç†è€…ユーザーをè¨å®šã™ã‚‹ ``` shell -node cli/mark-admin (ユーザーID ã¾ãŸã¯ ユーザーå) +node built/tools/mark-admin (ユーザーå) ``` 例: ``` shell -# ユーザーID -node cli/mark-admin 57d01a501fdf2d07be417afe - -# ユーザーå -node cli/mark-admin @syuilo +node built/tools/mark-admin @syuilo ``` diff --git a/src/tools/mark-admin.ts b/src/tools/mark-admin.ts new file mode 100644 index 0000000000000000000000000000000000000000..5844bb464e73d5d6f5d470d1cb1dd22ef28cd57e --- /dev/null +++ b/src/tools/mark-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: true + }); + + 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); +});