1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const axios_1 = require("axios");
|
4 | const auth_1 = require("./auth");
|
5 | const cli_config_1 = require("./cli-config");
|
6 | exports.apiClient = (cmd) => {
|
7 | const baseURL = cli_config_1.DOG_BASE_URL;
|
8 | const token = auth_1.auth.get('token');
|
9 | if (token === undefined) {
|
10 | console.log();
|
11 | console.log('You are not currently logged in.');
|
12 | console.log();
|
13 | console.log('run `dog login` to authenticate your cli and then rerun your command');
|
14 | console.log();
|
15 | process.exit();
|
16 | }
|
17 | return axios_1.default.create({
|
18 | baseURL,
|
19 | timeout: 30000,
|
20 | headers: {
|
21 | Authorization: `Bearer ${token}`,
|
22 | 'User-Agent': cli_config_1.USER_AGENT
|
23 | },
|
24 | validateStatus: status => {
|
25 | return status >= 200 && status < 500;
|
26 | }
|
27 | });
|
28 | };
|
29 | exports.processResponse = (cmd, res, successFn) => {
|
30 | if (res.status >= 200 && res.status < 299) {
|
31 | if (successFn) {
|
32 | successFn();
|
33 | }
|
34 | }
|
35 | else {
|
36 | if (res.data && res.data.message) {
|
37 | cmd.error(res.data.message);
|
38 | cmd.exit(1);
|
39 | }
|
40 | else {
|
41 | throw new Error('Api Error, please try again.');
|
42 | }
|
43 | }
|
44 | };
|