X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftools%2Fpeertube-auth.ts;h=c853469c27f286f52a8cf9cde9562c1491904761;hb=7815dc450ea9f8fd63e2234b6215013a132e6229;hp=6a0b89fe27f7bc455192175d565448db58207a6d;hpb=24198e976f41bcc41b90c640f2c51931fc22b0a4;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tools/peertube-auth.ts b/server/tools/peertube-auth.ts index 6a0b89fe2..c853469c2 100644 --- a/server/tools/peertube-auth.ts +++ b/server/tools/peertube-auth.ts @@ -1,14 +1,9 @@ -// eslint-disable @typescript-eslint/no-unnecessary-type-assertion - -import { registerTSPaths } from '../helpers/register-ts-paths' -registerTSPaths() - -import * as program from 'commander' -import * as prompt from 'prompt' -import { getNetrc, getSettings, writeSettings } from './cli' +import CliTable3 from 'cli-table3' +import { OptionValues, program } from 'commander' import { isUserUsernameValid } from '../helpers/custom-validators/users' -import { getAccessToken } from '../../shared/extra-utils' -import * as CliTable3 from 'cli-table3' +import { assignToken, buildServer, getNetrc, getSettings, writeSettings } from './shared' + +import prompt = require('prompt') async function delInstance (url: string) { const [ settings, netrc ] = await Promise.all([ getSettings(), getNetrc() ]) @@ -52,7 +47,7 @@ function stripExtraneousFromPeerTubeUrl (url: string) { ? url.indexOf('/', 8) : url.length - return url.substr(0, urlLength) + return url.substring(0, urlLength) } program @@ -66,7 +61,8 @@ program .option('-U, --username ', 'Username') .option('-p, --password ', 'Password') .option('--default', 'add the entry as the new default') - .action(options => { + .action((options: OptionValues) => { + /* eslint-disable no-import-assign */ prompt.override = options prompt.start() prompt.get({ @@ -93,16 +89,17 @@ program // Check credentials try { // Strip out everything after the domain:port. - // @see https://github.com/Chocobozzz/PeerTube/issues/3520 + // See https://github.com/Chocobozzz/PeerTube/issues/3520 result.url = stripExtraneousFromPeerTubeUrl(result.url) - await getAccessToken(result.url, result.username, result.password) + const server = buildServer(result.url) + await assignToken(server, result.username, result.password) } catch (err) { console.error(err.message) process.exit(-1) } - await setInstance(result.url, result.username, result.password, program['default']) + await setInstance(result.url, result.username, result.password, options.default) process.exit(0) }) @@ -160,15 +157,12 @@ program } }) -program.on('--help', function () { - console.log(' Examples:') - console.log() - console.log(' $ peertube auth add -u https://peertube.cpy.re -U "PEERTUBE_USER" --password "PEERTUBE_PASSWORD"') - console.log(' $ peertube auth add -u https://peertube.cpy.re -U root') - console.log(' $ peertube auth list') - console.log(' $ peertube auth del https://peertube.cpy.re') - console.log() -}) +program.addHelpText('after', '\n\n Examples:\n\n' + + ' $ peertube auth add -u https://peertube.cpy.re -U "PEERTUBE_USER" --password "PEERTUBE_PASSWORD"\n' + + ' $ peertube auth add -u https://peertube.cpy.re -U root\n' + + ' $ peertube auth list\n' + + ' $ peertube auth del https://peertube.cpy.re\n' +) if (!process.argv.slice(2).length) { program.outputHelp()