@mindbricks/mbx 1.0.5 → 1.0.7
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/README.md +54 -2
- package/dist/cli.js +18 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands.d.ts +2 -0
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +145 -0
- package/dist/commands.js.map +1 -1
- package/dist/config.d.ts +6 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +6 -2
- package/dist/config.js.map +1 -1
- package/dist/storage.d.ts +3 -1
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +29 -2
- package/dist/storage.js.map +1 -1
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @mindbricks/mbx
|
|
2
2
|
|
|
3
|
-
CLI tool for
|
|
3
|
+
Official CLI tool for the Mindbricks platform. Authenticate and manage your Mindbricks projects from the command line.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -8,10 +8,62 @@ CLI tool for authenticating with the Mindbricks platform
|
|
|
8
8
|
npm install -g @mindbricks/mbx
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
+
## Quick Start
|
|
12
|
+
|
|
13
|
+
### Login
|
|
14
|
+
Authenticate with your Mindbricks account:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
mbx login
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
### Check Authentication Status
|
|
21
|
+
View your current logged-in user:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
mbx whoami
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Export Project
|
|
28
|
+
Download and extract a project to a folder (auto-extracts by default):
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
mbx export <project-shortname>
|
|
32
|
+
|
|
33
|
+
# Examples:
|
|
34
|
+
mbx export myproject # Exports and extracts to current directory
|
|
35
|
+
mbx export myproject -o ./downloads # Exports and extracts to specified directory
|
|
36
|
+
mbx export myproject --zip # Downloads as ZIP file (no extraction)
|
|
37
|
+
mbx export myproject -o ./downloads -z # Downloads as ZIP to specified directory
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Commands
|
|
41
|
+
|
|
42
|
+
| Command | Description |
|
|
43
|
+
|---------|-------------|
|
|
44
|
+
| `mbx login` | Authenticate with your Mindbricks account |
|
|
45
|
+
| `mbx whoami` | Display current authenticated user information |
|
|
46
|
+
| `mbx export <shortname>` | Export a project to local directory |
|
|
47
|
+
|
|
48
|
+
## Options
|
|
49
|
+
|
|
50
|
+
### Export Options
|
|
51
|
+
|
|
52
|
+
- `-o, --output <path>` - Specify output directory (default: current directory)
|
|
53
|
+
- `-z, --zip` - Keep as ZIP file without extracting (default: auto-extract to folder)
|
|
54
|
+
|
|
55
|
+
## Authentication
|
|
56
|
+
|
|
57
|
+
The CLI stores your authentication token in `~/.mbx-token.json`. This file is automatically created when you login and is used for all authenticated requests.
|
|
58
|
+
|
|
59
|
+
## Requirements
|
|
60
|
+
|
|
61
|
+
- Node.js >= 16.0.0
|
|
62
|
+
|
|
11
63
|
## License
|
|
12
64
|
|
|
13
65
|
MIT
|
|
14
66
|
|
|
15
67
|
## Support
|
|
16
68
|
|
|
17
|
-
For issues and questions, please visit https://mindbricks.com/support
|
|
69
|
+
For issues and questions, please visit [https://mindbricks.com/support](https://mindbricks.com/support)
|
package/dist/cli.js
CHANGED
|
@@ -3,12 +3,15 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
const commander_1 = require("commander");
|
|
5
5
|
const commands_1 = require("./commands");
|
|
6
|
+
const fs_1 = require("fs");
|
|
7
|
+
const path_1 = require("path");
|
|
8
|
+
const packageJson = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(__dirname, '../package.json'), 'utf-8'));
|
|
6
9
|
const program = new commander_1.Command();
|
|
7
10
|
const handler = new commands_1.CommandHandler();
|
|
8
11
|
program
|
|
9
12
|
.name('mbx')
|
|
10
13
|
.description('Mindbricks CLI - Command line tools for Mindbricks platform')
|
|
11
|
-
.version(
|
|
14
|
+
.version(packageJson.version);
|
|
12
15
|
program
|
|
13
16
|
.command('login')
|
|
14
17
|
.description('Authenticate with your account')
|
|
@@ -21,6 +24,20 @@ program
|
|
|
21
24
|
.action(async () => {
|
|
22
25
|
await handler.handleWhoami();
|
|
23
26
|
});
|
|
27
|
+
program
|
|
28
|
+
.command('logout')
|
|
29
|
+
.description('Logout and remove stored credentials')
|
|
30
|
+
.action(async () => {
|
|
31
|
+
await handler.handleLogout();
|
|
32
|
+
});
|
|
33
|
+
program
|
|
34
|
+
.command('export <projectId>')
|
|
35
|
+
.description('Export a project to local directory')
|
|
36
|
+
.option('-o, --output <path>', 'Output directory path', '.')
|
|
37
|
+
.option('-z, --zip', 'Keep as zip file (default: auto-extract to folder)')
|
|
38
|
+
.action(async (projectId, options) => {
|
|
39
|
+
await handler.handleExport(projectId, options.output, options.zip || false);
|
|
40
|
+
});
|
|
24
41
|
program.parse(process.argv);
|
|
25
42
|
if (!process.argv.slice(2).length) {
|
|
26
43
|
program.outputHelp();
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,yCAA4C;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,yCAA4C;AAC5C,2BAAkC;AAClC,+BAA4B;AAE5B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,IAAA,iBAAY,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAC1D,CAAC;AAEF,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAC9B,MAAM,OAAO,GAAG,IAAI,yBAAc,EAAE,CAAC;AAErC,OAAO;KACJ,IAAI,CAAC,KAAK,CAAC;KACX,WAAW,CAAC,6DAA6D,CAAC;KAC1E,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAEhC,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,gCAAgC,CAAC;KAC7C,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAC;AAGL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,gDAAgD,CAAC;KAC7D,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,oBAAoB,CAAC;KAC7B,WAAW,CAAC,qCAAqC,CAAC;KAClD,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,EAAE,GAAG,CAAC;KAC3D,MAAM,CAAC,WAAW,EAAE,oDAAoD,CAAC;KACzE,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,OAA0C,EAAE,EAAE;IAC9E,MAAM,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC;AAC9E,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,OAAO,CAAC,UAAU,EAAE,CAAC;AACvB,CAAC"}
|
package/dist/commands.d.ts
CHANGED
|
@@ -4,5 +4,7 @@ export declare class CommandHandler {
|
|
|
4
4
|
constructor();
|
|
5
5
|
handleLogin(): Promise<void>;
|
|
6
6
|
handleWhoami(): Promise<void>;
|
|
7
|
+
handleLogout(): Promise<void>;
|
|
8
|
+
handleExport(projectShortname: string, outputPath: string, keepZip?: boolean): Promise<void>;
|
|
7
9
|
}
|
|
8
10
|
//# sourceMappingURL=commands.d.ts.map
|
package/dist/commands.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAUA,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,OAAO,CAAe;;IAQxB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAmD5B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB7B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB7B,YAAY,CAAC,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CA+F1G"}
|
package/dist/commands.js
CHANGED
|
@@ -1,10 +1,47 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
37
|
};
|
|
5
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
39
|
exports.CommandHandler = void 0;
|
|
7
40
|
const prompts_1 = __importDefault(require("prompts"));
|
|
41
|
+
const axios_1 = __importDefault(require("axios"));
|
|
42
|
+
const fs = __importStar(require("fs"));
|
|
43
|
+
const path = __importStar(require("path"));
|
|
44
|
+
const extract_zip_1 = __importDefault(require("extract-zip"));
|
|
8
45
|
const auth_1 = require("./auth");
|
|
9
46
|
const storage_1 = require("./storage");
|
|
10
47
|
const config_1 = require("./config");
|
|
@@ -79,6 +116,114 @@ class CommandHandler {
|
|
|
79
116
|
process.exit(1);
|
|
80
117
|
}
|
|
81
118
|
}
|
|
119
|
+
async handleLogout() {
|
|
120
|
+
try {
|
|
121
|
+
const token = this.storage.getToken();
|
|
122
|
+
if (!token) {
|
|
123
|
+
console.log('ℹ️ You are not currently logged in.');
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
const deleted = this.storage.deleteToken();
|
|
127
|
+
if (deleted) {
|
|
128
|
+
console.log('\n✅ Logged out successfully');
|
|
129
|
+
console.log(` Credentials removed from: ${this.storage.getTokenPath()}`);
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
console.log('⚠️ No credentials found to remove');
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
console.error('❌ Failed to logout');
|
|
137
|
+
console.error(` ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
138
|
+
process.exit(1);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
async handleExport(projectShortname, outputPath, keepZip = false) {
|
|
142
|
+
try {
|
|
143
|
+
console.log('📦 Exporting project...\n');
|
|
144
|
+
let token;
|
|
145
|
+
try {
|
|
146
|
+
token = this.storage.getValidToken();
|
|
147
|
+
}
|
|
148
|
+
catch (error) {
|
|
149
|
+
const errorMsg = error instanceof Error ? error.message : 'TOKEN_ERROR';
|
|
150
|
+
const message = config_1.MESSAGES[errorMsg];
|
|
151
|
+
console.error(`\n${message}`);
|
|
152
|
+
process.exit(1);
|
|
153
|
+
}
|
|
154
|
+
console.log(` Project: ${projectShortname}`);
|
|
155
|
+
console.log(` User: ${token.fullname}`);
|
|
156
|
+
console.log(`\n⏳ Downloading project archive...`);
|
|
157
|
+
const downloadUrl = `${config_1.CONFIG.API_BASE_URL}${config_1.CONFIG.EXPORT_ENDPOINT}/${projectShortname}/download`;
|
|
158
|
+
const response = await axios_1.default.get(downloadUrl, {
|
|
159
|
+
headers: {
|
|
160
|
+
'Authorization': `Bearer ${token.accessToken}`,
|
|
161
|
+
},
|
|
162
|
+
responseType: 'arraybuffer',
|
|
163
|
+
timeout: 300000,
|
|
164
|
+
});
|
|
165
|
+
let filename = `${projectShortname}.zip`;
|
|
166
|
+
const contentDisposition = response.headers['content-disposition'];
|
|
167
|
+
if (contentDisposition) {
|
|
168
|
+
const filenameMatch = contentDisposition.match(/filename="?([^"]+)"?/);
|
|
169
|
+
if (filenameMatch) {
|
|
170
|
+
filename = filenameMatch[1];
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
const outputDir = path.resolve(outputPath);
|
|
174
|
+
if (!fs.existsSync(outputDir)) {
|
|
175
|
+
fs.mkdirSync(outputDir, { recursive: true });
|
|
176
|
+
}
|
|
177
|
+
const filePath = path.join(outputDir, filename);
|
|
178
|
+
fs.writeFileSync(filePath, response.data);
|
|
179
|
+
const stats = fs.statSync(filePath);
|
|
180
|
+
const fileSizeMB = (stats.size / (1024 * 1024)).toFixed(2);
|
|
181
|
+
console.log('\n✓ Download completed successfully!');
|
|
182
|
+
console.log(` File: ${filename}`);
|
|
183
|
+
console.log(` Size: ${fileSizeMB} MB`);
|
|
184
|
+
console.log(` Location: ${filePath}`);
|
|
185
|
+
if (!keepZip) {
|
|
186
|
+
console.log('\n⏳ Extracting archive...');
|
|
187
|
+
const extractPath = path.join(outputDir, projectShortname);
|
|
188
|
+
try {
|
|
189
|
+
await (0, extract_zip_1.default)(filePath, { dir: extractPath });
|
|
190
|
+
console.log('\n✓ Extraction completed successfully!');
|
|
191
|
+
console.log(` Extracted: ${extractPath}`);
|
|
192
|
+
fs.unlinkSync(filePath);
|
|
193
|
+
console.log(` Cleaned up: ${filename}`);
|
|
194
|
+
}
|
|
195
|
+
catch (extractError) {
|
|
196
|
+
console.error('\n⚠️ Extraction failed, but zip file is still available');
|
|
197
|
+
console.error(` ${extractError instanceof Error ? extractError.message : 'Unknown error'}`);
|
|
198
|
+
console.log(` Zip file: ${filePath}`);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
catch (error) {
|
|
203
|
+
console.error('\n❌ Export failed');
|
|
204
|
+
if (axios_1.default.isAxiosError(error)) {
|
|
205
|
+
if (error.response?.status === 401) {
|
|
206
|
+
console.error(` ${config_1.MESSAGES.TOKEN_INVALID}`);
|
|
207
|
+
}
|
|
208
|
+
else if (error.response?.status === 403) {
|
|
209
|
+
console.error(' You do not have permission to export this project');
|
|
210
|
+
}
|
|
211
|
+
else if (error.response?.status === 404) {
|
|
212
|
+
console.error(' Project not found. Please check the project shortname.');
|
|
213
|
+
}
|
|
214
|
+
else if (error.code === 'ECONNABORTED') {
|
|
215
|
+
console.error(' Download timeout. The project may be too large or connection is slow.');
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
console.error(` ${error.response?.data?.message || error.message}`);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
console.error(` ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
223
|
+
}
|
|
224
|
+
process.exit(1);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
82
227
|
}
|
|
83
228
|
exports.CommandHandler = CommandHandler;
|
|
84
229
|
//# sourceMappingURL=commands.js.map
|
package/dist/commands.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export declare const CONFIG: {
|
|
2
|
-
readonly API_BASE_URL: "https://
|
|
2
|
+
readonly API_BASE_URL: "https://stage.mindbricks.com";
|
|
3
3
|
readonly LOGIN_ENDPOINT: "/api/mindbrix-auth/login";
|
|
4
|
-
readonly
|
|
4
|
+
readonly EXPORT_ENDPOINT: "/api/repository/takeout/projects";
|
|
5
|
+
readonly TOKEN_FILE_NAME: ".mbx-token.json";
|
|
5
6
|
};
|
|
6
7
|
export declare const MESSAGES: {
|
|
7
8
|
readonly LOGIN_SUCCESS: "✓ Successfully logged in!";
|
|
@@ -10,5 +11,8 @@ export declare const MESSAGES: {
|
|
|
10
11
|
readonly NO_TOKEN: "Not authenticated. Please run: mbx login";
|
|
11
12
|
readonly TOKEN_SAVED: "✓ Token saved successfully";
|
|
12
13
|
readonly INVALID_CREDENTIALS: "✗ Invalid email or password";
|
|
14
|
+
readonly TOKEN_EXPIRED: "✗ Your session has expired. Please login again: mbx login";
|
|
15
|
+
readonly TOKEN_INVALID: "✗ Your authentication token is invalid. Please login again: mbx login";
|
|
16
|
+
readonly TOKEN_ERROR: "✗ Unable to read authentication token. Please login again: mbx login";
|
|
13
17
|
};
|
|
14
18
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM;;;;;CAKT,CAAC;AAEX,eAAO,MAAM,QAAQ;;;;;;;;;;CAUX,CAAC"}
|
package/dist/config.js
CHANGED
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MESSAGES = exports.CONFIG = void 0;
|
|
4
4
|
exports.CONFIG = {
|
|
5
|
-
API_BASE_URL: 'https://
|
|
5
|
+
API_BASE_URL: 'https://stage.mindbricks.com',
|
|
6
6
|
LOGIN_ENDPOINT: '/api/mindbrix-auth/login',
|
|
7
|
-
|
|
7
|
+
EXPORT_ENDPOINT: '/api/repository/takeout/projects',
|
|
8
|
+
TOKEN_FILE_NAME: '.mbx-token.json',
|
|
8
9
|
};
|
|
9
10
|
exports.MESSAGES = {
|
|
10
11
|
LOGIN_SUCCESS: '✓ Successfully logged in!',
|
|
@@ -13,5 +14,8 @@ exports.MESSAGES = {
|
|
|
13
14
|
NO_TOKEN: 'Not authenticated. Please run: mbx login',
|
|
14
15
|
TOKEN_SAVED: '✓ Token saved successfully',
|
|
15
16
|
INVALID_CREDENTIALS: '✗ Invalid email or password',
|
|
17
|
+
TOKEN_EXPIRED: '✗ Your session has expired. Please login again: mbx login',
|
|
18
|
+
TOKEN_INVALID: '✗ Your authentication token is invalid. Please login again: mbx login',
|
|
19
|
+
TOKEN_ERROR: '✗ Unable to read authentication token. Please login again: mbx login',
|
|
16
20
|
};
|
|
17
21
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAG;IACpB,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAG;IACpB,YAAY,EAAE,8BAA8B;IAC5C,cAAc,EAAE,0BAA0B;IAC1C,eAAe,EAAE,kCAAkC;IACnD,eAAe,EAAE,iBAAiB;CAC1B,CAAC;AAEE,QAAA,QAAQ,GAAG;IACtB,aAAa,EAAE,2BAA2B;IAC1C,YAAY,EAAE,gBAAgB;IAC9B,cAAc,EAAE,2BAA2B;IAC3C,QAAQ,EAAE,0CAA0C;IACpD,WAAW,EAAE,4BAA4B;IACzC,mBAAmB,EAAE,6BAA6B;IAClD,aAAa,EAAE,2DAA2D;IAC1E,aAAa,EAAE,uEAAuE;IACtF,WAAW,EAAE,sEAAsE;CAC3E,CAAC"}
|
package/dist/storage.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { StoredToken } from './types';
|
|
2
2
|
export declare class TokenStorage {
|
|
3
3
|
private tokenPath;
|
|
4
|
-
constructor(
|
|
4
|
+
constructor();
|
|
5
5
|
saveToken(token: StoredToken): void;
|
|
6
6
|
getToken(): StoredToken | null;
|
|
7
7
|
deleteToken(): boolean;
|
|
8
8
|
hasToken(): boolean;
|
|
9
9
|
getTokenPath(): string;
|
|
10
|
+
validateToken(): string | null;
|
|
11
|
+
getValidToken(): StoredToken;
|
|
10
12
|
}
|
|
11
13
|
//# sourceMappingURL=storage.d.ts.map
|
package/dist/storage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAKtC,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAS;;IAO1B,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAUnC,QAAQ,IAAI,WAAW,GAAG,IAAI;IAa9B,WAAW,IAAI,OAAO;IAatB,QAAQ,IAAI,OAAO;IAKnB,YAAY,IAAI,MAAM;IAItB,aAAa,IAAI,MAAM,GAAG,IAAI;IAyB9B,aAAa,IAAI,WAAW;CAO7B"}
|
package/dist/storage.js
CHANGED
|
@@ -36,10 +36,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.TokenStorage = void 0;
|
|
37
37
|
const fs = __importStar(require("fs"));
|
|
38
38
|
const path = __importStar(require("path"));
|
|
39
|
+
const os = __importStar(require("os"));
|
|
39
40
|
const config_1 = require("./config");
|
|
40
41
|
class TokenStorage {
|
|
41
|
-
constructor(
|
|
42
|
-
this.tokenPath = path.join(
|
|
42
|
+
constructor() {
|
|
43
|
+
this.tokenPath = path.join(os.homedir(), config_1.CONFIG.TOKEN_FILE_NAME);
|
|
43
44
|
}
|
|
44
45
|
saveToken(token) {
|
|
45
46
|
try {
|
|
@@ -80,6 +81,32 @@ class TokenStorage {
|
|
|
80
81
|
getTokenPath() {
|
|
81
82
|
return this.tokenPath;
|
|
82
83
|
}
|
|
84
|
+
validateToken() {
|
|
85
|
+
if (!this.hasToken()) {
|
|
86
|
+
return 'NO_TOKEN';
|
|
87
|
+
}
|
|
88
|
+
const token = this.getToken();
|
|
89
|
+
if (!token) {
|
|
90
|
+
return 'TOKEN_ERROR';
|
|
91
|
+
}
|
|
92
|
+
if (!token.accessToken || !token.sessionId || !token.userId) {
|
|
93
|
+
return 'TOKEN_INVALID';
|
|
94
|
+
}
|
|
95
|
+
if (token.expiresAt) {
|
|
96
|
+
const expiryDate = new Date(token.expiresAt);
|
|
97
|
+
if (expiryDate < new Date()) {
|
|
98
|
+
return 'TOKEN_EXPIRED';
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
getValidToken() {
|
|
104
|
+
const validationError = this.validateToken();
|
|
105
|
+
if (validationError) {
|
|
106
|
+
throw new Error(validationError);
|
|
107
|
+
}
|
|
108
|
+
return this.getToken();
|
|
109
|
+
}
|
|
83
110
|
}
|
|
84
111
|
exports.TokenStorage = TokenStorage;
|
|
85
112
|
//# sourceMappingURL=storage.js.map
|
package/dist/storage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mindbricks/mbx",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
4
4
|
"description": "Mindbricks CLI Command line tools for Mindbricks platform",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -27,9 +27,11 @@
|
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"axios": "^1.6.5",
|
|
29
29
|
"commander": "^12.0.0",
|
|
30
|
+
"extract-zip": "^2.0.1",
|
|
30
31
|
"prompts": "^2.4.2"
|
|
31
32
|
},
|
|
32
33
|
"devDependencies": {
|
|
34
|
+
"@types/extract-zip": "^2.0.0",
|
|
33
35
|
"@types/node": "^20.11.5",
|
|
34
36
|
"@types/prompts": "^2.4.9",
|
|
35
37
|
"typescript": "^5.3.3"
|