mxroute-cli 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/status.js +62 -30
- package/dist/commands/status.js.map +1 -1
- package/package.json +1 -1
package/dist/commands/status.js
CHANGED
|
@@ -9,34 +9,68 @@ const ora_1 = __importDefault(require("ora"));
|
|
|
9
9
|
const theme_1 = require("../utils/theme");
|
|
10
10
|
const config_1 = require("../utils/config");
|
|
11
11
|
const dns_1 = require("../utils/dns");
|
|
12
|
+
const directadmin_1 = require("../utils/directadmin");
|
|
12
13
|
const api_1 = require("../utils/api");
|
|
13
14
|
async function statusCommand() {
|
|
14
15
|
const config = (0, config_1.getConfig)();
|
|
15
16
|
console.log(theme_1.theme.banner());
|
|
16
|
-
|
|
17
|
+
// Not configured at all
|
|
18
|
+
if (!config.server && !config.daUsername) {
|
|
17
19
|
console.log(theme_1.theme.warning(` ${theme_1.theme.statusIcon('warn')} Not configured yet. Run ${theme_1.theme.bold('mxroute config setup')} to get started.\n`));
|
|
18
20
|
console.log(theme_1.theme.subheading('Quick Start:'));
|
|
19
|
-
console.log(theme_1.theme.muted(' 1. mxroute config setup Configure your account'));
|
|
21
|
+
console.log(theme_1.theme.muted(' 1. mxroute config setup Configure your account (API key + server)'));
|
|
20
22
|
console.log(theme_1.theme.muted(' 2. mxroute dns check Verify DNS records'));
|
|
21
|
-
console.log(theme_1.theme.muted(' 3. mxroute
|
|
23
|
+
console.log(theme_1.theme.muted(' 3. mxroute domains list List your domains'));
|
|
22
24
|
console.log(theme_1.theme.muted(' 4. mxroute info View connection settings'));
|
|
23
25
|
console.log('');
|
|
24
26
|
return;
|
|
25
27
|
}
|
|
26
|
-
|
|
28
|
+
// Account info box
|
|
29
|
+
const accountLines = [
|
|
27
30
|
theme_1.theme.keyValue('Profile', config.activeProfile, 0),
|
|
28
|
-
theme_1.theme.keyValue('Server', `${config.server}.mxrouting.net
|
|
29
|
-
theme_1.theme.keyValue('
|
|
30
|
-
|
|
31
|
-
|
|
31
|
+
theme_1.theme.keyValue('Server', config.server ? `${config.server}.mxrouting.net` : theme_1.theme.muted('not set'), 0),
|
|
32
|
+
theme_1.theme.keyValue('Domain', config.domain || theme_1.theme.muted('not set'), 0),
|
|
33
|
+
];
|
|
34
|
+
console.log(theme_1.theme.box(accountLines.join('\n'), 'Account'));
|
|
35
|
+
console.log('');
|
|
36
|
+
// Auth status
|
|
37
|
+
console.log(theme_1.theme.subheading('Authentication'));
|
|
38
|
+
if (config.daUsername && config.daLoginKey) {
|
|
39
|
+
const spinner = (0, ora_1.default)({ text: 'Verifying API credentials...', spinner: 'dots12', color: 'cyan' }).start();
|
|
40
|
+
try {
|
|
41
|
+
const result = await (0, directadmin_1.testAuth)({
|
|
42
|
+
server: config.server,
|
|
43
|
+
username: config.daUsername,
|
|
44
|
+
loginKey: config.daLoginKey,
|
|
45
|
+
});
|
|
46
|
+
if (result.success) {
|
|
47
|
+
spinner.stop();
|
|
48
|
+
console.log(` ${theme_1.theme.statusIcon('pass')} ${theme_1.theme.success('DirectAdmin API')} ${theme_1.theme.muted(`authenticated as ${config.daUsername}`)}`);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
spinner.stop();
|
|
52
|
+
console.log(` ${theme_1.theme.statusIcon('fail')} ${theme_1.theme.error('DirectAdmin API')} ${theme_1.theme.muted(result.message)}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
catch (err) {
|
|
56
|
+
spinner.stop();
|
|
57
|
+
console.log(` ${theme_1.theme.statusIcon('fail')} ${theme_1.theme.error('DirectAdmin API')} ${theme_1.theme.muted(err.message)}`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
console.log(` ${theme_1.theme.statusIcon('warn')} ${theme_1.theme.warning('DirectAdmin API')} ${theme_1.theme.muted('not configured')}`);
|
|
62
|
+
console.log(theme_1.theme.muted(` Run ${theme_1.theme.bold('mxroute config setup')} to authenticate with your Login Key`));
|
|
63
|
+
}
|
|
64
|
+
if (config.username && config.password) {
|
|
65
|
+
console.log(` ${theme_1.theme.statusIcon('pass')} ${theme_1.theme.success('SMTP API')} ${theme_1.theme.muted(config.username)}`);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
console.log(` ${theme_1.theme.statusIcon('info')} ${theme_1.theme.muted('SMTP API')} ${theme_1.theme.muted('not configured (optional — run mxroute config smtp)')}`);
|
|
69
|
+
}
|
|
32
70
|
console.log('');
|
|
33
71
|
// DNS Check
|
|
34
|
-
if (config.domain) {
|
|
35
|
-
const spinner = (0, ora_1.default)({
|
|
36
|
-
text: 'Running DNS health check...',
|
|
37
|
-
spinner: 'dots12',
|
|
38
|
-
color: 'cyan',
|
|
39
|
-
}).start();
|
|
72
|
+
if (config.domain && config.server) {
|
|
73
|
+
const spinner = (0, ora_1.default)({ text: 'Running DNS health check...', spinner: 'dots12', color: 'cyan' }).start();
|
|
40
74
|
try {
|
|
41
75
|
const results = await (0, dns_1.runFullDnsCheck)(config.domain, config.server);
|
|
42
76
|
spinner.stop();
|
|
@@ -56,24 +90,22 @@ async function statusCommand() {
|
|
|
56
90
|
console.log(theme_1.theme.muted(' Could not check DNS\n'));
|
|
57
91
|
}
|
|
58
92
|
}
|
|
59
|
-
//
|
|
60
|
-
|
|
61
|
-
text: 'Testing SMTP API
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
93
|
+
// SMTP connection test (only if configured)
|
|
94
|
+
if (config.username && config.password) {
|
|
95
|
+
const apiSpinner = (0, ora_1.default)({ text: 'Testing SMTP API...', spinner: 'dots12', color: 'cyan' }).start();
|
|
96
|
+
try {
|
|
97
|
+
const result = await (0, api_1.testConnection)(`${config.server}.mxrouting.net`, config.username, config.password);
|
|
98
|
+
if (result.success) {
|
|
99
|
+
apiSpinner.succeed(chalk_1.default.green('SMTP API connection successful'));
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
apiSpinner.warn(chalk_1.default.yellow(`SMTP API: ${result.message}`));
|
|
103
|
+
}
|
|
69
104
|
}
|
|
70
|
-
|
|
71
|
-
apiSpinner.
|
|
105
|
+
catch (err) {
|
|
106
|
+
apiSpinner.fail(chalk_1.default.red(`SMTP API: ${err.message}`));
|
|
72
107
|
}
|
|
108
|
+
console.log('');
|
|
73
109
|
}
|
|
74
|
-
catch (err) {
|
|
75
|
-
apiSpinner.fail(chalk_1.default.red(`SMTP API unreachable: ${err.message}`));
|
|
76
|
-
}
|
|
77
|
-
console.log('');
|
|
78
110
|
}
|
|
79
111
|
//# sourceMappingURL=status.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED