@northflank/cli 0.8.0-beta.1 → 0.8.1
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/api-helpers.js +1 -191
- package/dist/cli.js +1 -564
- package/dist/command-overview.js +1 -93
- package/dist/console-format-helpers.js +1 -108
- package/dist/context/contextCommands.js +1 -417
- package/dist/defaults.js +1 -10408
- package/dist/exec/index.js +1 -257
- package/dist/inquirer-helper.js +1 -912
- package/dist/port-forward/index.js +1 -269
- package/dist/utils.js +1 -201
- package/package.json +2 -2
|
@@ -1,417 +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 (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
35
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
36
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
37
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
38
|
-
function step(op) {
|
|
39
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
40
|
-
while (_) try {
|
|
41
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
42
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
43
|
-
switch (op[0]) {
|
|
44
|
-
case 0: case 1: t = op; break;
|
|
45
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
46
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
47
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
48
|
-
default:
|
|
49
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
50
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
51
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
52
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
53
|
-
if (t[2]) _.ops.pop();
|
|
54
|
-
_.trys.pop(); continue;
|
|
55
|
-
}
|
|
56
|
-
op = body.call(thisArg, _);
|
|
57
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
58
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
62
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
63
|
-
};
|
|
64
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
65
|
-
exports.CliContext = void 0;
|
|
66
|
-
var _ = __importStar(require("lodash"));
|
|
67
|
-
var node_fetch_1 = __importDefault(require("node-fetch"));
|
|
68
|
-
var utils_1 = require("../utils");
|
|
69
|
-
var inquirer_helper_1 = require("../inquirer-helper");
|
|
70
|
-
var console_format_helpers_1 = require("../console-format-helpers");
|
|
71
|
-
var inquirer = require('inquirer');
|
|
72
|
-
var CliContext = /** @class */ (function () {
|
|
73
|
-
function CliContext(apiClient) {
|
|
74
|
-
var _this = this;
|
|
75
|
-
this.apiClient = apiClient;
|
|
76
|
-
var inquirerHelper = new inquirer_helper_1.InquirerHelper(apiClient);
|
|
77
|
-
this.login = (0, utils_1.getCommand)()
|
|
78
|
-
.name('login')
|
|
79
|
-
.description('Connect the CLI to your Northflank account.')
|
|
80
|
-
.option('-n, --name [NAME]', 'Name for login context')
|
|
81
|
-
.option('-t, --token [TOKEN]', 'Token for this context')
|
|
82
|
-
.option('-h, --host [HOST]', 'host url for this context', 'https://api.northflank.com')
|
|
83
|
-
.option('--override', 'Override existing contexts (this will remove project and service context)', false)
|
|
84
|
-
.action(function (options) { return __awaiter(_this, void 0, void 0, function () {
|
|
85
|
-
function sanitiseHostname(hostname) {
|
|
86
|
-
var sanitisedHostname = hostname;
|
|
87
|
-
if (!/^https?:\/\//i.test(sanitisedHostname)) {
|
|
88
|
-
sanitisedHostname = "https://".concat(sanitisedHostname);
|
|
89
|
-
}
|
|
90
|
-
sanitisedHostname = sanitisedHostname.replace(/\/+$/, '');
|
|
91
|
-
return sanitisedHostname;
|
|
92
|
-
}
|
|
93
|
-
var existingContexts, _a, name, token, host, override, e_1;
|
|
94
|
-
return __generator(this, function (_b) {
|
|
95
|
-
switch (_b.label) {
|
|
96
|
-
case 0:
|
|
97
|
-
_.set(options, 'host', sanitiseHostname(options.host));
|
|
98
|
-
existingContexts = this.apiClient.contextProvider.loadContextWrapper().contexts;
|
|
99
|
-
return [4 /*yield*/, inquirerHelper.loginPrompt(options, existingContexts)];
|
|
100
|
-
case 1:
|
|
101
|
-
_a = _b.sent(), name = _a.name, token = _a.token, host = _a.host, override = _a.override;
|
|
102
|
-
_b.label = 2;
|
|
103
|
-
case 2:
|
|
104
|
-
_b.trys.push([2, 4, , 5]);
|
|
105
|
-
return [4 /*yield*/, this.apiClient.contextProvider.addContext({ name: name, host: host, token: token }, override)];
|
|
106
|
-
case 3:
|
|
107
|
-
_b.sent();
|
|
108
|
-
return [3 /*break*/, 5];
|
|
109
|
-
case 4:
|
|
110
|
-
e_1 = _b.sent();
|
|
111
|
-
(0, utils_1.error)(e_1.message);
|
|
112
|
-
return [2 /*return*/];
|
|
113
|
-
case 5: return [4 /*yield*/, this.verifyToken()];
|
|
114
|
-
case 6:
|
|
115
|
-
if (!!(_b.sent())) return [3 /*break*/, 8];
|
|
116
|
-
(0, utils_1.error)('Failed to login with the provided token, make sure to use a valid token and host.');
|
|
117
|
-
return [4 /*yield*/, this.apiClient.contextProvider.removeContext(name)];
|
|
118
|
-
case 7:
|
|
119
|
-
_b.sent();
|
|
120
|
-
return [3 /*break*/, 9];
|
|
121
|
-
case 8:
|
|
122
|
-
(0, utils_1.success)("Login to ".concat(host, " successful"));
|
|
123
|
-
_b.label = 9;
|
|
124
|
-
case 9: return [2 /*return*/];
|
|
125
|
-
}
|
|
126
|
-
});
|
|
127
|
-
}); });
|
|
128
|
-
this.contexts = (0, utils_1.getCommand)()
|
|
129
|
-
.name('context')
|
|
130
|
-
.description('Retrieve and update local context settings.')
|
|
131
|
-
.alias('contexts')
|
|
132
|
-
.alias('ctx');
|
|
133
|
-
var getContextsCmd = (0, utils_1.getCommand)()
|
|
134
|
-
.name('list')
|
|
135
|
-
.description('List all available contexts')
|
|
136
|
-
.option('--all', 'Shows full context information (including tokens)')
|
|
137
|
-
.action(function (opt) { return __awaiter(_this, void 0, void 0, function () {
|
|
138
|
-
var contextWrapper, currentContext, contexts;
|
|
139
|
-
return __generator(this, function (_a) {
|
|
140
|
-
console.log(apiClient.contextProvider.getInfo());
|
|
141
|
-
contextWrapper = apiClient.contextProvider.loadContextWrapper();
|
|
142
|
-
if (opt.all === true) {
|
|
143
|
-
console.dir(contextWrapper);
|
|
144
|
-
return [2 /*return*/];
|
|
145
|
-
}
|
|
146
|
-
currentContext = contextWrapper.current;
|
|
147
|
-
contexts = contextWrapper.contexts
|
|
148
|
-
// eslint-disable-next-line no-nested-ternary
|
|
149
|
-
.sort(function (c1, c2) { return (c1.name === currentContext ? -1 : c2.name === currentContext ? 1 : 0); })
|
|
150
|
-
.map(function (ctx) {
|
|
151
|
-
var currentText = currentContext === ctx.name ? " (current)" : '';
|
|
152
|
-
return {
|
|
153
|
-
Name: "".concat(ctx.name).concat(currentText),
|
|
154
|
-
Host: ctx.host,
|
|
155
|
-
'Default Project': ctx.project || '-',
|
|
156
|
-
'Default Service': ctx.service || '-',
|
|
157
|
-
};
|
|
158
|
-
});
|
|
159
|
-
(0, console_format_helpers_1.printAsTable)(contexts, 'Contexts');
|
|
160
|
-
return [2 /*return*/];
|
|
161
|
-
});
|
|
162
|
-
}); });
|
|
163
|
-
var useCmd = (0, utils_1.getCommand)();
|
|
164
|
-
useCmd
|
|
165
|
-
.name('use')
|
|
166
|
-
.description('Switch between your local contexts')
|
|
167
|
-
.option('-n, --name [NAME]', 'Change current context to context identified by this name')
|
|
168
|
-
.action(function (options) { return __awaiter(_this, void 0, void 0, function () {
|
|
169
|
-
var name, _a;
|
|
170
|
-
return __generator(this, function (_b) {
|
|
171
|
-
switch (_b.label) {
|
|
172
|
-
case 0:
|
|
173
|
-
_a = (options === null || options === void 0 ? void 0 : options.name);
|
|
174
|
-
if (_a) return [3 /*break*/, 2];
|
|
175
|
-
return [4 /*yield*/, this.askForContext('use')];
|
|
176
|
-
case 1:
|
|
177
|
-
_a = (_b.sent());
|
|
178
|
-
_b.label = 2;
|
|
179
|
-
case 2:
|
|
180
|
-
name = _a;
|
|
181
|
-
return [4 /*yield*/, this.apiClient.contextProvider.useContext(name)];
|
|
182
|
-
case 3:
|
|
183
|
-
_b.sent();
|
|
184
|
-
(0, utils_1.success)("Changed current context to ".concat(name));
|
|
185
|
-
return [2 /*return*/];
|
|
186
|
-
}
|
|
187
|
-
});
|
|
188
|
-
}); });
|
|
189
|
-
var idArg = '-i, --id [ID]';
|
|
190
|
-
var useProjectCmd = (0, utils_1.getCommand)()
|
|
191
|
-
.name('project')
|
|
192
|
-
.description('Change the default project in the current local context')
|
|
193
|
-
.option(idArg, 'Project name (internal id) to use as default in context')
|
|
194
|
-
.action(function (options) { return __awaiter(_this, void 0, void 0, function () {
|
|
195
|
-
var id, _a;
|
|
196
|
-
return __generator(this, function (_b) {
|
|
197
|
-
switch (_b.label) {
|
|
198
|
-
case 0:
|
|
199
|
-
_a = (options === null || options === void 0 ? void 0 : options.id);
|
|
200
|
-
if (_a) return [3 /*break*/, 2];
|
|
201
|
-
return [4 /*yield*/, inquirerHelper.askForProject()];
|
|
202
|
-
case 1:
|
|
203
|
-
_a = (_b.sent());
|
|
204
|
-
_b.label = 2;
|
|
205
|
-
case 2:
|
|
206
|
-
id = _a;
|
|
207
|
-
return [4 /*yield*/, this.apiClient.contextProvider.useProjectId(id)];
|
|
208
|
-
case 3:
|
|
209
|
-
_b.sent();
|
|
210
|
-
console.log('Use project with id:', id);
|
|
211
|
-
return [2 /*return*/];
|
|
212
|
-
}
|
|
213
|
-
});
|
|
214
|
-
}); });
|
|
215
|
-
var useServiceCmd = (0, utils_1.getCommand)()
|
|
216
|
-
.name('service')
|
|
217
|
-
.description('Change the default service in the current local context')
|
|
218
|
-
.option(idArg, 'Service name (internal id) to use as default in context')
|
|
219
|
-
.action(function (options) { return __awaiter(_this, void 0, void 0, function () {
|
|
220
|
-
var id, _a;
|
|
221
|
-
return __generator(this, function (_b) {
|
|
222
|
-
switch (_b.label) {
|
|
223
|
-
case 0:
|
|
224
|
-
_a = (options === null || options === void 0 ? void 0 : options.id);
|
|
225
|
-
if (_a) return [3 /*break*/, 2];
|
|
226
|
-
return [4 /*yield*/, inquirerHelper.askForService(this.getProjectName())()];
|
|
227
|
-
case 1:
|
|
228
|
-
_a = (_b.sent());
|
|
229
|
-
_b.label = 2;
|
|
230
|
-
case 2:
|
|
231
|
-
id = _a;
|
|
232
|
-
console.log('Use service with id:', id);
|
|
233
|
-
return [4 /*yield*/, this.apiClient.contextProvider.useServiceId(id)];
|
|
234
|
-
case 3:
|
|
235
|
-
_b.sent();
|
|
236
|
-
return [2 /*return*/];
|
|
237
|
-
}
|
|
238
|
-
});
|
|
239
|
-
}); });
|
|
240
|
-
var useJobCmd = (0, utils_1.getCommand)()
|
|
241
|
-
.name('job')
|
|
242
|
-
.description('Change the default job in the current local context')
|
|
243
|
-
.option(idArg, 'Job name (internal id) to use as default in context')
|
|
244
|
-
.action(function (options) { return __awaiter(_this, void 0, void 0, function () {
|
|
245
|
-
var id, _a;
|
|
246
|
-
return __generator(this, function (_b) {
|
|
247
|
-
switch (_b.label) {
|
|
248
|
-
case 0:
|
|
249
|
-
_a = (options === null || options === void 0 ? void 0 : options.id);
|
|
250
|
-
if (_a) return [3 /*break*/, 2];
|
|
251
|
-
return [4 /*yield*/, inquirerHelper.askForJob(this.getProjectName())()];
|
|
252
|
-
case 1:
|
|
253
|
-
_a = (_b.sent());
|
|
254
|
-
_b.label = 2;
|
|
255
|
-
case 2:
|
|
256
|
-
id = _a;
|
|
257
|
-
console.log('Use job with id:', id);
|
|
258
|
-
return [4 /*yield*/, this.apiClient.contextProvider.useJobId(id)];
|
|
259
|
-
case 3:
|
|
260
|
-
_b.sent();
|
|
261
|
-
return [2 /*return*/];
|
|
262
|
-
}
|
|
263
|
-
});
|
|
264
|
-
}); });
|
|
265
|
-
useCmd.addCommand(useProjectCmd);
|
|
266
|
-
useCmd.addCommand(useJobCmd);
|
|
267
|
-
useCmd.addCommand(useServiceCmd);
|
|
268
|
-
var removeContextsCmd = (0, utils_1.getCommand)()
|
|
269
|
-
.name('remove')
|
|
270
|
-
.alias('delete')
|
|
271
|
-
.description('Remove a context')
|
|
272
|
-
.option(idArg, 'Local context name to remove.')
|
|
273
|
-
.action(function (options) { return __awaiter(_this, void 0, void 0, function () {
|
|
274
|
-
var contextName, _a, name, _b;
|
|
275
|
-
return __generator(this, function (_c) {
|
|
276
|
-
switch (_c.label) {
|
|
277
|
-
case 0:
|
|
278
|
-
_a = (options === null || options === void 0 ? void 0 : options.id);
|
|
279
|
-
if (_a) return [3 /*break*/, 2];
|
|
280
|
-
return [4 /*yield*/, this.askForContext('remove')];
|
|
281
|
-
case 1:
|
|
282
|
-
_a = (_c.sent());
|
|
283
|
-
_c.label = 2;
|
|
284
|
-
case 2:
|
|
285
|
-
contextName = _a;
|
|
286
|
-
return [4 /*yield*/, this.apiClient.contextProvider.removeContext(contextName)];
|
|
287
|
-
case 3:
|
|
288
|
-
_c.sent();
|
|
289
|
-
(0, utils_1.success)("Local context '".concat(contextName, "' successfully removed."));
|
|
290
|
-
if (!this.contextAvailable()) {
|
|
291
|
-
(0, utils_1.warning)("No context available. Use 'northflank login' to create context.");
|
|
292
|
-
return [2 /*return*/];
|
|
293
|
-
}
|
|
294
|
-
_b = (options === null || options === void 0 ? void 0 : options.name);
|
|
295
|
-
if (_b) return [3 /*break*/, 5];
|
|
296
|
-
return [4 /*yield*/, this.askForContext('use from now on')];
|
|
297
|
-
case 4:
|
|
298
|
-
_b = (_c.sent());
|
|
299
|
-
_c.label = 5;
|
|
300
|
-
case 5:
|
|
301
|
-
name = _b;
|
|
302
|
-
return [4 /*yield*/, this.apiClient.contextProvider.useContext(name)];
|
|
303
|
-
case 6:
|
|
304
|
-
_c.sent();
|
|
305
|
-
(0, utils_1.success)("Changed current context to ".concat(name));
|
|
306
|
-
return [2 /*return*/];
|
|
307
|
-
}
|
|
308
|
-
});
|
|
309
|
-
}); });
|
|
310
|
-
var updateTokenCommand = (0, utils_1.getCommand)()
|
|
311
|
-
.name('update-token')
|
|
312
|
-
.alias('set-token')
|
|
313
|
-
.description('Update token for current context')
|
|
314
|
-
.option('-t, --token [TOKEN]', 'Token for this context')
|
|
315
|
-
.action(function (options) { return __awaiter(_this, void 0, void 0, function () {
|
|
316
|
-
var contextProvider, token, _a, oldToken;
|
|
317
|
-
return __generator(this, function (_b) {
|
|
318
|
-
switch (_b.label) {
|
|
319
|
-
case 0:
|
|
320
|
-
contextProvider = this.apiClient.contextProvider;
|
|
321
|
-
_a = (options === null || options === void 0 ? void 0 : options.token);
|
|
322
|
-
if (_a) return [3 /*break*/, 2];
|
|
323
|
-
return [4 /*yield*/, inquirerHelper.tokenPrompt()];
|
|
324
|
-
case 1:
|
|
325
|
-
_a = (_b.sent());
|
|
326
|
-
_b.label = 2;
|
|
327
|
-
case 2:
|
|
328
|
-
token = _a;
|
|
329
|
-
oldToken = contextProvider.getCurrentToken();
|
|
330
|
-
return [4 /*yield*/, contextProvider.updateToken(token)];
|
|
331
|
-
case 3:
|
|
332
|
-
_b.sent();
|
|
333
|
-
return [4 /*yield*/, this.verifyToken()];
|
|
334
|
-
case 4:
|
|
335
|
-
if (!_b.sent()) return [3 /*break*/, 5];
|
|
336
|
-
(0, utils_1.success)("Token for current context '".concat(contextProvider.getCurrentName(), "' successfully updated."));
|
|
337
|
-
return [3 /*break*/, 8];
|
|
338
|
-
case 5:
|
|
339
|
-
if (!oldToken) return [3 /*break*/, 7];
|
|
340
|
-
return [4 /*yield*/, contextProvider.updateToken(oldToken)];
|
|
341
|
-
case 6:
|
|
342
|
-
_b.sent();
|
|
343
|
-
_b.label = 7;
|
|
344
|
-
case 7:
|
|
345
|
-
(0, utils_1.error)('Failed to login with the provided token. Token was not changed');
|
|
346
|
-
_b.label = 8;
|
|
347
|
-
case 8: return [2 /*return*/];
|
|
348
|
-
}
|
|
349
|
-
});
|
|
350
|
-
}); });
|
|
351
|
-
this.contexts.addCommand(getContextsCmd);
|
|
352
|
-
this.contexts.addCommand(useCmd);
|
|
353
|
-
this.contexts.addCommand(removeContextsCmd);
|
|
354
|
-
this.contexts.addCommand(updateTokenCommand);
|
|
355
|
-
}
|
|
356
|
-
CliContext.prototype.getProjectName = function () {
|
|
357
|
-
var projectName = this.apiClient.contextProvider.getCurrentProjectName();
|
|
358
|
-
if (projectName === undefined) {
|
|
359
|
-
throw new Error('No project in current context. Please set project before setting a project-scoped resource');
|
|
360
|
-
}
|
|
361
|
-
return projectName;
|
|
362
|
-
};
|
|
363
|
-
CliContext.prototype.askForContext = function (action) {
|
|
364
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
365
|
-
return __generator(this, function (_a) {
|
|
366
|
-
switch (_a.label) {
|
|
367
|
-
case 0:
|
|
368
|
-
if (!this.contextAvailable()) {
|
|
369
|
-
throw new Error("No context available. Please use 'northflank login' to create context.");
|
|
370
|
-
}
|
|
371
|
-
return [4 /*yield*/, inquirer.prompt([
|
|
372
|
-
{
|
|
373
|
-
type: 'list',
|
|
374
|
-
name: 'name',
|
|
375
|
-
message: "Choose the context to ".concat(action, ":"),
|
|
376
|
-
choices: this.apiClient.contextProvider
|
|
377
|
-
.loadContextWrapper()
|
|
378
|
-
.contexts.map(function (ctx) { return ctx.name; }),
|
|
379
|
-
},
|
|
380
|
-
])];
|
|
381
|
-
case 1: return [2 /*return*/, (_a.sent()).name];
|
|
382
|
-
}
|
|
383
|
-
});
|
|
384
|
-
});
|
|
385
|
-
};
|
|
386
|
-
CliContext.prototype.contextAvailable = function () {
|
|
387
|
-
return this.apiClient.contextProvider.loadContextWrapper().contexts.length > 0;
|
|
388
|
-
};
|
|
389
|
-
CliContext.prototype.verifyToken = function () {
|
|
390
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
391
|
-
var apiBaseUrl, token, endpoint, headers, response, e_2;
|
|
392
|
-
return __generator(this, function (_a) {
|
|
393
|
-
switch (_a.label) {
|
|
394
|
-
case 0:
|
|
395
|
-
_a.trys.push([0, 2, , 3]);
|
|
396
|
-
apiBaseUrl = this.apiClient.contextProvider.getCurrentBaseUrl();
|
|
397
|
-
token = this.apiClient.contextProvider.getCurrentToken();
|
|
398
|
-
endpoint = "".concat(apiBaseUrl, "/v1/login");
|
|
399
|
-
headers = { 'Authorization': "Bearer ".concat(token) };
|
|
400
|
-
return [4 /*yield*/, (0, node_fetch_1.default)(endpoint, { method: 'GET', timeout: 3000, headers: headers })];
|
|
401
|
-
case 1:
|
|
402
|
-
response = _a.sent();
|
|
403
|
-
if (response.ok) {
|
|
404
|
-
return [2 /*return*/, true];
|
|
405
|
-
}
|
|
406
|
-
return [2 /*return*/, false];
|
|
407
|
-
case 2:
|
|
408
|
-
e_2 = _a.sent();
|
|
409
|
-
return [2 /*return*/, false];
|
|
410
|
-
case 3: return [2 /*return*/];
|
|
411
|
-
}
|
|
412
|
-
});
|
|
413
|
-
});
|
|
414
|
-
};
|
|
415
|
-
return CliContext;
|
|
416
|
-
}());
|
|
417
|
-
exports.CliContext = CliContext;
|
|
1
|
+
'use strict';var a4u=['set-token','service','next','useJobId','log','all','Change\x20the\x20default\x20job\x20in\x20the\x20current\x20local\x20context','No\x20context\x20available.\x20Please\x20use\x20\x27northflank\x20login\x27\x20to\x20create\x20context.','dir','default','getInfo','__createBinding','Bearer\x20','success','__setModuleDefault','error','removeContext','action','-i,\x20--id\x20[ID]','../console-format-helpers','loadContextWrapper','222393ThWRUJ','Remove\x20a\x20context','loginPrompt','Connect\x20the\x20CLI\x20to\x20your\x20Northflank\x20account.','replace','1396TMXGjm','askForContext','\x20(current)','__esModule','\x27\x20successfully\x20updated.','name','defineProperty','664228LQtHyh','contextAvailable','trys','then','Service\x20name\x20(internal\x20id)\x20to\x20use\x20as\x20default\x20in\x20context','configurable','getCurrentBaseUrl','lodash','throw','warning','prototype','Override\x20existing\x20contexts\x20(this\x20will\x20remove\x20project\x20and\x20service\x20context)','apiClient','map','context','host','getCurrentToken','Failed\x20to\x20login\x20with\x20the\x20provided\x20token.\x20Token\x20was\x20not\x20changed','__awaiter','node-fetch','useContext','contexts','call','Changed\x20current\x20context\x20to\x20','401hOewrE','Contexts','https://api.northflank.com','askForProject','InquirerHelper','writable','getCurrentProjectName','getProjectName','Generator\x20is\x20already\x20executing.','403609NmncJx','create','__importDefault','Project\x20name\x20(internal\x20id)\x20to\x20use\x20as\x20default\x20in\x20context','hasOwnProperty','message','Switch\x20between\x20your\x20local\x20contexts','login','Token\x20for\x20current\x20context\x20\x27','project','--override','Login\x20to\x20','3RiwnSn','Update\x20token\x20for\x20current\x20context','override','1957vHkZeD','description','3joRsbW','-n,\x20--name\x20[NAME]','verifyToken','getCommand','askForService','push','../inquirer-helper','Use\x20job\x20with\x20id:','use','token','done','job','return','value','Job\x20name\x20(internal\x20id)\x20to\x20use\x20as\x20default\x20in\x20context','sort','addCommand','352012dmelOx','Local\x20context\x20\x27','--all','CliContext','label','pop','__generator','contextProvider','Change\x20the\x20default\x20service\x20in\x20the\x20current\x20local\x20context','test','__importStar','function','ops','list','-t,\x20--token\x20[TOKEN]','32968lkeJIq','option','Use\x20service\x20with\x20id:','iterator','https://','sent','useProjectId','prompt','49IGXsiX','addContext','current','getOwnPropertyDescriptor','concat','remove','getCurrentName','alias','length','Change\x20the\x20default\x20project\x20in\x20the\x20current\x20local\x20context','List\x20all\x20available\x20contexts','Retrieve\x20and\x20update\x20local\x20context\x20settings.'];var a4M=a4F;(function(u,F){var X=a4F;while(!![]){try{var j=parseInt(X(0x17c))*-parseInt(X(0x133))+-parseInt(X(0x153))+-parseInt(X(0x144))+parseInt(X(0x188))+-parseInt(X(0x119))*parseInt(X(0x181))+-parseInt(X(0x131))*-parseInt(X(0x15b))+-parseInt(X(0x12e))*-parseInt(X(0x122));if(j===F)break;else u['push'](u['shift']());}catch(L){u['push'](u['shift']());}}}(a4u,0x57a51));var __createBinding=this&&this[a4M(0x172)]||(Object[a4M(0x123)]?function(u,F,j,L){var a=a4M;if(L===undefined)L=j;var R=Object[a(0x15e)](F,j);(!R||('get'in R?!F[a(0x184)]:R[a(0x11e)]||R[a(0x18d)]))&&(R={'enumerable':!![],'get':function(){return F[j];}}),Object[a(0x187)](u,L,R);}:function(u,F,j,L){if(L===undefined)L=j;u[L]=F[j];}),__setModuleDefault=this&&this[a4M(0x175)]||(Object[a4M(0x123)]?function(u,F){var I=a4M;Object[I(0x187)](u,I(0x170),{'enumerable':!![],'value':F});}:function(u,F){var T=a4M;u[T(0x170)]=F;}),__importStar=this&&this[a4M(0x14e)]||function(u){var N=a4M;if(u&&u[N(0x184)])return u;var F={};if(u!=null){for(var j in u)if(j!==N(0x170)&&Object['prototype'][N(0x126)][N(0x117)](u,j))__createBinding(F,u,j);}return __setModuleDefault(F,u),F;},__awaiter=this&&this[a4M(0x19a)]||function(u,F,j,L){function R(z){return z instanceof j?z:new j(function(y){y(z);});}return new(j||(j=Promise))(function(z,y){var m=a4F;function V(l){try{h(L['next'](l));}catch(t){y(t);}}function g(l){var P=a4F;try{h(L[P(0x190)](l));}catch(t){y(t);}}function h(l){var K=a4F;l[K(0x13d)]?z(l[K(0x140)]):R(l[K(0x140)])[K(0x18b)](V,g);}h((L=L['apply'](u,F||[]))[m(0x169)]());});},__generator=this&&this[a4M(0x14a)]||function(u,F){var e=a4M,j={'label':0x0,'sent':function(){if(z[0x0]&0x1)throw z[0x1];return z[0x1];},'trys':[],'ops':[]},L,R,z,V;return V={'next':h(0x0),'throw':h(0x1),'return':h(0x2)},typeof Symbol===e(0x14f)&&(V[Symbol[e(0x156)]]=function(){return this;}),V;function h(B){return function(O){return l([B,O]);};}function l(B){var c=e;if(L)throw new TypeError(c(0x121));while(j)try{if(L=0x1,R&&(z=B[0x0]&0x2?R['return']:B[0x0]?R[c(0x190)]||((z=R[c(0x13f)])&&z[c(0x117)](R),0x0):R[c(0x169)])&&!(z=z[c(0x117)](R,B[0x1]))[c(0x13d)])return z;if(R=0x0,z)B=[B[0x0]&0x2,z[c(0x140)]];switch(B[0x0]){case 0x0:case 0x1:z=B;break;case 0x4:j[c(0x148)]++;return{'value':B[0x1],'done':![]};case 0x5:j[c(0x148)]++,R=B[0x1],B=[0x0];continue;case 0x7:B=j['ops']['pop'](),j['trys'][c(0x149)]();continue;default:if(!(z=j[c(0x18a)],z=z[c(0x163)]>0x0&&z[z[c(0x163)]-0x1])&&(B[0x0]===0x6||B[0x0]===0x2)){j=0x0;continue;}if(B[0x0]===0x3&&(!z||B[0x1]>z[0x0]&&B[0x1]<z[0x3])){j['label']=B[0x1];break;}if(B[0x0]===0x6&&j[c(0x148)]<z[0x1]){j[c(0x148)]=z[0x1],z=B;break;}if(z&&j[c(0x148)]<z[0x2]){j['label']=z[0x2],j['ops'][c(0x138)](B);break;}if(z[0x2])j[c(0x150)][c(0x149)]();j['trys'][c(0x149)]();continue;}B=F[c(0x117)](u,j);}catch(O){B=[0x6,O],R=0x0;}finally{L=z=0x0;}if(B[0x0]&0x5)throw B[0x1];return{'value':B[0x0]?B[0x1]:void 0x0,'done':!![]};}},__importDefault=this&&this[a4M(0x124)]||function(u){return u&&u['__esModule']?u:{'default':u};};function a4F(u,F){u=u-0x117;var j=a4u[u];return j;}Object[a4M(0x187)](exports,a4M(0x184),{'value':!![]}),exports[a4M(0x147)]=void 0x0;var _=__importStar(require(a4M(0x18f))),node_fetch_1=__importDefault(require(a4M(0x19b))),utils_1=require('../utils'),inquirer_helper_1=require(a4M(0x139)),console_format_helpers_1=require(a4M(0x17a)),inquirer=require('inquirer'),CliContext=function(){var q=a4M;function u(F){var x=a4F,j=this;this[x(0x194)]=F;var L=new inquirer_helper_1[(x(0x11d))](F);this[x(0x129)]=(0x0,utils_1[x(0x136)])()[x(0x186)](x(0x129))[x(0x132)](x(0x17f))[x(0x154)](x(0x134),'Name\x20for\x20login\x20context')[x(0x154)]('-t,\x20--token\x20[TOKEN]','Token\x20for\x20this\x20context')[x(0x154)]('-h,\x20--host\x20[HOST]','host\x20url\x20for\x20this\x20context',x(0x11b))[x(0x154)](x(0x12c),x(0x193),![])['action'](function(B){return __awaiter(j,void 0x0,void 0x0,function(){function O(D){var i=a4F,Q=D;return!/^https?:\/\//i[i(0x14d)](Q)&&(Q=i(0x157)[i(0x15f)](Q)),Q=Q[i(0x180)](/\/+$/,''),Q;}var n,o,C,G,f,W,S;return __generator(this,function(D){var b=a4F;switch(D['label']){case 0x0:_['set'](B,b(0x197),O(B[b(0x197)])),n=this[b(0x194)][b(0x14b)][b(0x17b)]()[b(0x19d)];return[0x4,L[b(0x17e)](B,n)];case 0x1:o=D[b(0x158)](),C=o[b(0x186)],G=o[b(0x13c)],f=o[b(0x197)],W=o[b(0x130)],D[b(0x148)]=0x2;case 0x2:D[b(0x18a)]['push']([0x2,0x4,,0x5]);return[0x4,this['apiClient'][b(0x14b)][b(0x15c)]({'name':C,'host':f,'token':G},W)];case 0x3:D[b(0x158)]();return[0x3,0x5];case 0x4:S=D[b(0x158)](),(0x0,utils_1['error'])(S[b(0x127)]);return[0x2];case 0x5:return[0x4,this[b(0x135)]()];case 0x6:if(!!D['sent']())return[0x3,0x8];(0x0,utils_1[b(0x176)])('Failed\x20to\x20login\x20with\x20the\x20provided\x20token,\x20make\x20sure\x20to\x20use\x20a\x20valid\x20token\x20and\x20host.');return[0x4,this[b(0x194)][b(0x14b)][b(0x177)](C)];case 0x7:D[b(0x158)]();return[0x3,0x9];case 0x8:(0x0,utils_1[b(0x174)])(b(0x12d)[b(0x15f)](f,'\x20successful')),D[b(0x148)]=0x9;case 0x9:return[0x2];}});});}),this[x(0x19d)]=(0x0,utils_1['getCommand'])()[x(0x186)](x(0x196))[x(0x132)](x(0x166))[x(0x162)](x(0x19d))['alias']('ctx');var R=(0x0,utils_1[x(0x136)])()['name'](x(0x151))[x(0x132)](x(0x165))['option'](x(0x146),'Shows\x20full\x20context\x20information\x20(including\x20tokens)')[x(0x178)](function(B){return __awaiter(j,void 0x0,void 0x0,function(){var O,n,o;return __generator(this,function(C){var A=a4F;console[A(0x16b)](F[A(0x14b)][A(0x171)]()),O=F[A(0x14b)][A(0x17b)]();if(B[A(0x16c)]===!![])return console[A(0x16f)](O),[0x2];return n=O[A(0x15d)],o=O[A(0x19d)][A(0x142)](function(G,f){return G['name']===n?-0x1:f['name']===n?0x1:0x0;})['map'](function(G){var Y=A,f=n===G[Y(0x186)]?Y(0x183):'';return{'Name':''[Y(0x15f)](G[Y(0x186)])[Y(0x15f)](f),'Host':G[Y(0x197)],'Default\x20Project':G[Y(0x12b)]||'-','Default\x20Service':G[Y(0x168)]||'-'};}),(0x0,console_format_helpers_1['printAsTable'])(o,A(0x11a)),[0x2];});});}),z=(0x0,utils_1[x(0x136)])();z[x(0x186)](x(0x13b))[x(0x132)](x(0x128))[x(0x154)](x(0x134),'Change\x20current\x20context\x20to\x20context\x20identified\x20by\x20this\x20name')[x(0x178)](function(B){return __awaiter(j,void 0x0,void 0x0,function(){var O,n;return __generator(this,function(o){var Z=a4F;switch(o[Z(0x148)]){case 0x0:n=B===null||B===void 0x0?void 0x0:B[Z(0x186)];if(n)return[0x3,0x2];return[0x4,this[Z(0x182)](Z(0x13b))];case 0x1:n=o[Z(0x158)](),o[Z(0x148)]=0x2;case 0x2:O=n;return[0x4,this['apiClient'][Z(0x14b)]['useContext'](O)];case 0x3:o[Z(0x158)](),(0x0,utils_1[Z(0x174)])(Z(0x118)[Z(0x15f)](O));return[0x2];}});});});var y=x(0x179),V=(0x0,utils_1[x(0x136)])()[x(0x186)](x(0x12b))[x(0x132)](x(0x164))['option'](y,x(0x125))['action'](function(B){return __awaiter(j,void 0x0,void 0x0,function(){var O,n;return __generator(this,function(o){var E=a4F;switch(o[E(0x148)]){case 0x0:n=B===null||B===void 0x0?void 0x0:B['id'];if(n)return[0x3,0x2];return[0x4,L[E(0x11c)]()];case 0x1:n=o[E(0x158)](),o[E(0x148)]=0x2;case 0x2:O=n;return[0x4,this['apiClient']['contextProvider'][E(0x159)](O)];case 0x3:o[E(0x158)](),console['log']('Use\x20project\x20with\x20id:',O);return[0x2];}});});}),g=(0x0,utils_1[x(0x136)])()[x(0x186)](x(0x168))['description'](x(0x14c))[x(0x154)](y,x(0x18c))[x(0x178)](function(B){return __awaiter(j,void 0x0,void 0x0,function(){var O,n;return __generator(this,function(o){var d=a4F;switch(o[d(0x148)]){case 0x0:n=B===null||B===void 0x0?void 0x0:B['id'];if(n)return[0x3,0x2];return[0x4,L[d(0x137)](this[d(0x120)]())()];case 0x1:n=o[d(0x158)](),o[d(0x148)]=0x2;case 0x2:O=n,console['log'](d(0x155),O);return[0x4,this[d(0x194)]['contextProvider']['useServiceId'](O)];case 0x3:o[d(0x158)]();return[0x2];}});});}),h=(0x0,utils_1[x(0x136)])()[x(0x186)](x(0x13e))[x(0x132)](x(0x16d))['option'](y,x(0x141))[x(0x178)](function(B){return __awaiter(j,void 0x0,void 0x0,function(){var O,n;return __generator(this,function(o){var s=a4F;switch(o[s(0x148)]){case 0x0:n=B===null||B===void 0x0?void 0x0:B['id'];if(n)return[0x3,0x2];return[0x4,L['askForJob'](this[s(0x120)]())()];case 0x1:n=o[s(0x158)](),o['label']=0x2;case 0x2:O=n,console[s(0x16b)](s(0x13a),O);return[0x4,this[s(0x194)][s(0x14b)][s(0x16a)](O)];case 0x3:o['sent']();return[0x2];}});});});z[x(0x143)](V),z['addCommand'](h),z[x(0x143)](g);var l=(0x0,utils_1['getCommand'])()[x(0x186)](x(0x160))[x(0x162)]('delete')[x(0x132)](x(0x17d))[x(0x154)](y,'Local\x20context\x20name\x20to\x20remove.')['action'](function(B){return __awaiter(j,void 0x0,void 0x0,function(){var O,n,o,C;return __generator(this,function(G){var H=a4F;switch(G[H(0x148)]){case 0x0:n=B===null||B===void 0x0?void 0x0:B['id'];if(n)return[0x3,0x2];return[0x4,this['askForContext'](H(0x160))];case 0x1:n=G['sent'](),G[H(0x148)]=0x2;case 0x2:O=n;return[0x4,this[H(0x194)][H(0x14b)][H(0x177)](O)];case 0x3:G[H(0x158)](),(0x0,utils_1[H(0x174)])(H(0x145)[H(0x15f)](O,'\x27\x20successfully\x20removed.'));if(!this[H(0x189)]())return(0x0,utils_1[H(0x191)])('No\x20context\x20available.\x20Use\x20\x27northflank\x20login\x27\x20to\x20create\x20context.'),[0x2];C=B===null||B===void 0x0?void 0x0:B[H(0x186)];if(C)return[0x3,0x5];return[0x4,this['askForContext']('use\x20from\x20now\x20on')];case 0x4:C=G['sent'](),G[H(0x148)]=0x5;case 0x5:o=C;return[0x4,this[H(0x194)][H(0x14b)][H(0x19c)](o)];case 0x6:G[H(0x158)](),(0x0,utils_1[H(0x174)])(H(0x118)[H(0x15f)](o));return[0x2];}});});}),t=(0x0,utils_1['getCommand'])()[x(0x186)]('update-token')[x(0x162)](x(0x167))[x(0x132)](x(0x12f))[x(0x154)](x(0x152),'Token\x20for\x20this\x20context')[x(0x178)](function(B){return __awaiter(j,void 0x0,void 0x0,function(){var O,n,o,C;return __generator(this,function(G){var J=a4F;switch(G[J(0x148)]){case 0x0:O=this[J(0x194)]['contextProvider'],o=B===null||B===void 0x0?void 0x0:B['token'];if(o)return[0x3,0x2];return[0x4,L['tokenPrompt']()];case 0x1:o=G['sent'](),G[J(0x148)]=0x2;case 0x2:n=o,C=O[J(0x198)]();return[0x4,O['updateToken'](n)];case 0x3:G[J(0x158)]();return[0x4,this[J(0x135)]()];case 0x4:if(!G[J(0x158)]())return[0x3,0x5];(0x0,utils_1[J(0x174)])(J(0x12a)[J(0x15f)](O[J(0x161)](),J(0x185)));return[0x3,0x8];case 0x5:if(!C)return[0x3,0x7];return[0x4,O['updateToken'](C)];case 0x6:G[J(0x158)](),G[J(0x148)]=0x7;case 0x7:(0x0,utils_1[J(0x176)])(J(0x199)),G[J(0x148)]=0x8;case 0x8:return[0x2];}});});});this[x(0x19d)]['addCommand'](R),this[x(0x19d)][x(0x143)](z),this['contexts'][x(0x143)](l),this[x(0x19d)][x(0x143)](t);}return u[q(0x192)]['getProjectName']=function(){var p=q,F=this['apiClient']['contextProvider'][p(0x11f)]();if(F===undefined)throw new Error('No\x20project\x20in\x20current\x20context.\x20Please\x20set\x20project\x20before\x20setting\x20a\x20project-scoped\x20resource');return F;},u[q(0x192)][q(0x182)]=function(F){return __awaiter(this,void 0x0,void 0x0,function(){return __generator(this,function(j){var w=a4F;switch(j[w(0x148)]){case 0x0:if(!this[w(0x189)]())throw new Error(w(0x16e));return[0x4,inquirer[w(0x15a)]([{'type':w(0x151),'name':w(0x186),'message':'Choose\x20the\x20context\x20to\x20'[w(0x15f)](F,':'),'choices':this[w(0x194)][w(0x14b)][w(0x17b)]()['contexts'][w(0x195)](function(L){var k=w;return L[k(0x186)];})}])];case 0x1:return[0x2,j[w(0x158)]()[w(0x186)]];}});});},u[q(0x192)][q(0x189)]=function(){var r=q;return this[r(0x194)]['contextProvider']['loadContextWrapper']()['contexts']['length']>0x0;},u[q(0x192)][q(0x135)]=function(){return __awaiter(this,void 0x0,void 0x0,function(){var F,j,L,R,z,y;return __generator(this,function(V){var v=a4F;switch(V[v(0x148)]){case 0x0:V['trys'][v(0x138)]([0x0,0x2,,0x3]),F=this[v(0x194)][v(0x14b)][v(0x18e)](),j=this[v(0x194)][v(0x14b)][v(0x198)](),L=''[v(0x15f)](F,'/v1/login'),R={'Authorization':v(0x173)['concat'](j)};return[0x4,(0x0,node_fetch_1[v(0x170)])(L,{'method':'GET','timeout':0xbb8,'headers':R})];case 0x1:z=V['sent']();if(z['ok'])return[0x2,!![]];return[0x2,![]];case 0x2:y=V[v(0x158)]();return[0x2,![]];case 0x3:return[0x2];}});});},u;}();exports[a4M(0x147)]=CliContext;
|