]>
Commit | Line | Data |
---|---|---|
1 | import * as program from 'commander' | |
2 | ||
3 | import { | |
4 | getClient, | |
5 | serverLogin, | |
6 | Server, | |
7 | Client, | |
8 | User | |
9 | } from '../tests/utils/index' | |
10 | ||
11 | program | |
12 | .option('-u, --url <url>', 'Server url') | |
13 | .option('-n, --username <username>', 'Username') | |
14 | .option('-p, --password <token>', 'Password') | |
15 | .parse(process.argv) | |
16 | ||
17 | if ( | |
18 | !program['url'] || | |
19 | !program['username'] || | |
20 | !program['password'] | |
21 | ) { | |
22 | throw new Error('All arguments are required.') | |
23 | } | |
24 | ||
25 | getClient(program.url) | |
26 | .then(res => { | |
27 | const server = { | |
28 | url: program['url'], | |
29 | user: { | |
30 | username: program['username'], | |
31 | password: program['password'] | |
32 | } as User, | |
33 | client: { | |
34 | id: res.body.client_id as string, | |
35 | secret: res.body.client_secret as string | |
36 | } as Client | |
37 | } as Server | |
38 | ||
39 | return serverLogin(server) | |
40 | }) | |
41 | .then(accessToken => { | |
42 | console.log(accessToken) | |
43 | process.exit(0) | |
44 | }) | |
45 | .catch(err => { | |
46 | console.error(err) | |
47 | process.exit(-1) | |
48 | }) |