@codiac.io/codiac-cli 1.3.165 → 1.3.168
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 +1 -1
- package/dist/apis/codiac-api/gen/contracts/types.gen.d.ts +6 -2
- package/dist/apis/codiac-api/gen/contracts/types.gen.js +3 -0
- package/dist/apis/codiac-api/gen/contracts/types.gen.js.map +1 -1
- package/dist/apis/codiac-api-nats/gen/contracts/types.gen.d.ts +7 -3
- package/dist/apis/codiac-api-nats/gen/contracts/types.gen.js +4 -1
- package/dist/apis/codiac-api-nats/gen/contracts/types.gen.js.map +1 -1
- package/dist/apis/codiac-relay/gen/client.d.ts +3 -3
- package/dist/apis/codiac-relay/gen/client.js.map +1 -1
- package/dist/apis/codiac-relay/gen/contracts/types.gen.d.ts +20 -4
- package/dist/apis/codiac-relay/gen/contracts/types.gen.js +6 -0
- package/dist/apis/codiac-relay/gen/contracts/types.gen.js.map +1 -1
- package/dist/apis/codiac-relay/i-client.d.ts +1 -1
- package/dist/apis/codiac-relay-nats/gen/client.d.ts +1 -1
- package/dist/apis/codiac-relay-nats/gen/client.js.map +1 -1
- package/dist/apis/codiac-relay-nats/gen/contracts/types.gen.d.ts +22 -3
- package/dist/apis/codiac-relay-nats/gen/contracts/types.gen.js +6 -0
- package/dist/apis/codiac-relay-nats/gen/contracts/types.gen.js.map +1 -1
- package/dist/apis/codiac-relay-nats/gen/contracts.ng.d.ts +3 -0
- package/dist/apis/codiac-relay-nats/gen/contracts.ng.js.map +1 -1
- package/dist/codiac-constants.d.ts +2 -0
- package/dist/codiac-constants.js +2 -0
- package/dist/codiac-constants.js.map +1 -1
- package/dist/codiac-entities/cluster-capture-def.d.ts +1 -1
- package/dist/codiac-utils.d.ts +5 -0
- package/dist/codiac-utils.js +14 -0
- package/dist/codiac-utils.js.map +1 -0
- package/dist/command-base-enterprise.d.ts +14 -0
- package/dist/command-base-enterprise.js +49 -0
- package/dist/command-base-enterprise.js.map +1 -1
- package/dist/command-base-exec.js +2 -0
- package/dist/command-base-exec.js.map +1 -1
- package/dist/commands/asset/deploy.d.ts +2 -0
- package/dist/commands/asset/deploy.js +21 -4
- package/dist/commands/asset/deploy.js.map +1 -1
- package/dist/commands/asset/list.js +4 -3
- package/dist/commands/asset/list.js.map +1 -1
- package/dist/commands/asset/probe/create.d.ts +0 -1
- package/dist/commands/asset/probe/create.js +10 -7
- package/dist/commands/asset/probe/create.js.map +1 -1
- package/dist/commands/asset/undeploy.d.ts +2 -0
- package/dist/commands/asset/undeploy.js +7 -0
- package/dist/commands/asset/undeploy.js.map +1 -1
- package/dist/commands/asset/view.js +5 -3
- package/dist/commands/asset/view.js.map +1 -1
- package/dist/commands/asset/where.js +12 -2
- package/dist/commands/asset/where.js.map +1 -1
- package/dist/commands/cabinet/contents.d.ts +1 -0
- package/dist/commands/cabinet/contents.js +17 -2
- package/dist/commands/cabinet/contents.js.map +1 -1
- package/dist/commands/cluster/scaling/update.js +3 -2
- package/dist/commands/cluster/scaling/update.js.map +1 -1
- package/dist/commands/cluster/start.js +1 -1
- package/dist/commands/cluster/start.js.map +1 -1
- package/dist/commands/cluster/stop.js +1 -1
- package/dist/commands/cluster/stop.js.map +1 -1
- package/dist/commands/config/add.d.ts +2 -0
- package/dist/commands/config/add.js +51 -5
- package/dist/commands/config/add.js.map +1 -1
- package/dist/commands/config/delete.js +3 -1
- package/dist/commands/config/delete.js.map +1 -1
- package/dist/commands/config/deploy.d.ts +4 -0
- package/dist/commands/config/deploy.js +87 -5
- package/dist/commands/config/deploy.js.map +1 -1
- package/dist/commands/config/settings/get.js +3 -1
- package/dist/commands/config/settings/get.js.map +1 -1
- package/dist/commands/config/view.js +3 -1
- package/dist/commands/config/view.js.map +1 -1
- package/dist/commands/kit/create.js +2 -1
- package/dist/commands/kit/create.js.map +1 -1
- package/dist/commands/noc/cluster/capture.js +2 -1
- package/dist/commands/noc/cluster/capture.js.map +1 -1
- package/dist/commands/noc/cluster/create.d.ts +2 -0
- package/dist/commands/noc/cluster/create.js +17 -4
- package/dist/commands/noc/cluster/create.js.map +1 -1
- package/dist/commands/noc/cluster/deinit.js +7 -5
- package/dist/commands/noc/cluster/deinit.js.map +1 -1
- package/dist/commands/noc/cluster/init.js +1 -1
- package/dist/commands/noc/cluster/init.js.map +1 -1
- package/dist/commands/noc/cluster/recreate.js +1 -1
- package/dist/commands/noc/cluster/recreate.js.map +1 -1
- package/dist/commands/snapshot/deploy.d.ts +51 -0
- package/dist/commands/snapshot/deploy.js +305 -0
- package/dist/commands/snapshot/deploy.js.map +1 -0
- package/dist/commands/snapshot/list.d.ts +15 -0
- package/dist/commands/snapshot/list.js +164 -0
- package/dist/commands/snapshot/list.js.map +1 -0
- package/dist/relay/relay-container.js +1 -1
- package/dist/sdk-adapters/azure/azure-resource-configurator.d.ts +2 -1
- package/dist/sdk-adapters/azure/azure-resource-configurator.js +37 -29
- package/dist/sdk-adapters/azure/azure-resource-configurator.js.map +1 -1
- package/dist/uilogic/config-ui-utils.d.ts +3 -1
- package/dist/uilogic/config-ui-utils.js +36 -5
- package/dist/uilogic/config-ui-utils.js.map +1 -1
- package/dist/uilogic/enterprise-contextualizer.js +11 -0
- package/dist/uilogic/enterprise-contextualizer.js.map +1 -1
- package/dist/uilogic/lrp-watcher-predef.d.ts +3 -1
- package/dist/uilogic/lrp-watcher-predef.js +19 -6
- package/dist/uilogic/lrp-watcher-predef.js.map +1 -1
- package/dist/uilogic/lrp-watcher-utils.d.ts +1 -1
- package/dist/uilogic/lrp-watcher.d.ts +2 -0
- package/dist/uilogic/lrp-watcher.js +14 -2
- package/dist/uilogic/lrp-watcher.js.map +1 -1
- package/dist/uilogic/rootmap-ui-utils.d.ts +5 -0
- package/dist/uilogic/rootmap-ui-utils.js +45 -3
- package/dist/uilogic/rootmap-ui-utils.js.map +1 -1
- package/dist/user-context-loader.d.ts +24 -1
- package/dist/user-context-loader.js +86 -16
- package/dist/user-context-loader.js.map +1 -1
- package/oclif.manifest.json +173 -42
- package/package.json +2 -2
|
@@ -10,6 +10,7 @@ const render = require("./render-methods");
|
|
|
10
10
|
const _ = require("lodash");
|
|
11
11
|
const ops_1 = require("../ops");
|
|
12
12
|
const type_safety_utils_1 = require("./type-safety-utils");
|
|
13
|
+
const codiac_utils_1 = require("../codiac-utils");
|
|
13
14
|
;
|
|
14
15
|
;
|
|
15
16
|
;
|
|
@@ -123,8 +124,15 @@ let RootMapUiUtils = class RootMapUiUtils {
|
|
|
123
124
|
try {
|
|
124
125
|
let defaultCabName;
|
|
125
126
|
let selectedCabName;
|
|
127
|
+
const isInfrxEnterprise = codiac_utils_1.CodiacUtils.isInfrxEnterprise(enterprise);
|
|
126
128
|
// render cab tree with all lines selectable
|
|
127
|
-
let cabTree
|
|
129
|
+
let cabTree;
|
|
130
|
+
if (isInfrxEnterprise) {
|
|
131
|
+
cabTree = this.buildInfrxCabinetList(rootMap, embellisher); // Infrx enterprises show cabs as list of cluster names
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
cabTree = this.buildCabinetTree(rootMap, embellisher);
|
|
135
|
+
}
|
|
128
136
|
let choices = this.buildSelectChoicesFrom(cabTree);
|
|
129
137
|
const parseCabFromChoice = (choiceValue) => choiceValue.split("|")[1]; // Choice values are in format: "<scope>|<target>|<isLocal>", eg: "cabinet|dev7|false"
|
|
130
138
|
// ISSUES:
|
|
@@ -147,6 +155,7 @@ let RootMapUiUtils = class RootMapUiUtils {
|
|
|
147
155
|
defaultCabName = defaultValue.split("|")[0]; // <-- bc the value is "<cabName>|<isLocal>";
|
|
148
156
|
}
|
|
149
157
|
}
|
|
158
|
+
const prompt = isInfrxEnterprise ? "Cluster: " : "Cabinet: ";
|
|
150
159
|
let keep = takeDefaults;
|
|
151
160
|
if (defaultValue) {
|
|
152
161
|
// validate it
|
|
@@ -155,7 +164,7 @@ let RootMapUiUtils = class RootMapUiUtils {
|
|
|
155
164
|
// prompt to keep
|
|
156
165
|
defaultCabName = parseCabFromChoice(found.value);
|
|
157
166
|
keep = ((defaultCabName != undefined) && (defaultCabName == userSuppliedValue)); // skip confirmation if the user supplied it and its valid
|
|
158
|
-
keep = keep || (yield this._ui.promptConfirm("keepCabinet",
|
|
167
|
+
keep = keep || (yield this._ui.promptConfirm("keepCabinet", prompt.concat(this.styler.hilite(defaultCabName), " "))); // assertion ok bc defaultCabName travels w defaultValue
|
|
159
168
|
}
|
|
160
169
|
}
|
|
161
170
|
if (keep && defaultValue !== undefined) {
|
|
@@ -168,7 +177,7 @@ let RootMapUiUtils = class RootMapUiUtils {
|
|
|
168
177
|
if (scope === "environment") {
|
|
169
178
|
// we could just filter it down from here...
|
|
170
179
|
}
|
|
171
|
-
let selection = (yield this._ui.promptSelect("cabinet",
|
|
180
|
+
let selection = (yield this._ui.promptSelect("cabinet", prompt, choices, false, false));
|
|
172
181
|
let parts = selection.split("|");
|
|
173
182
|
scope = parts[0];
|
|
174
183
|
target = parts[1];
|
|
@@ -243,6 +252,39 @@ let RootMapUiUtils = class RootMapUiUtils {
|
|
|
243
252
|
}
|
|
244
253
|
return tree;
|
|
245
254
|
}
|
|
255
|
+
/** sets each value to "scope|target".
|
|
256
|
+
*
|
|
257
|
+
* @param embellisher (optional) Adds custom content to each branch in the tree
|
|
258
|
+
* */
|
|
259
|
+
buildInfrxCabinetList(rootMap, embellisher, includeEnterprise = false) {
|
|
260
|
+
var _a;
|
|
261
|
+
let tree = [];
|
|
262
|
+
for (let ent of rootMap.enterprises.filter(e => codiac_utils_1.CodiacUtils.isInfrxEnterprise(e.name))) {
|
|
263
|
+
const isInfrxEnterprise = true; // CodiacUtils.isInfrxEnterprise(ent.name); // we're filtering out any non-infrx enterprises
|
|
264
|
+
let entBranch = { text: `Default: `, value: `${contracts_1.ScopeLevel.enterprise}|${ent.name}` };
|
|
265
|
+
embellisher === null || embellisher === void 0 ? void 0 : embellisher.eachEnterprise(entBranch, ent, rootMap);
|
|
266
|
+
for (let env of _.sortBy(ent.environments, e => e.sequence, e => e.name)) {
|
|
267
|
+
for (let cab of env.cabinets.filter(c => c.cluster != undefined)) {
|
|
268
|
+
let cabBranch = {
|
|
269
|
+
text: isInfrxEnterprise ? cab.cluster : [env.name, cab.name].join("/"),
|
|
270
|
+
value: `${contracts_1.ScopeLevel.cabinet}|${cab.name}|${(_a = cab.thisMachine) !== null && _a !== void 0 ? _a : false}`
|
|
271
|
+
};
|
|
272
|
+
embellisher === null || embellisher === void 0 ? void 0 : embellisher.eachCabinet(cabBranch, cab, env, ent, rootMap);
|
|
273
|
+
if (entBranch.children === undefined)
|
|
274
|
+
entBranch.children = [];
|
|
275
|
+
entBranch.children.push(cabBranch);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
// If we're including enterprise, then its a tree, otherwise its just a list of cabs
|
|
279
|
+
if (includeEnterprise) {
|
|
280
|
+
tree.push(entBranch);
|
|
281
|
+
}
|
|
282
|
+
else if (entBranch.children) {
|
|
283
|
+
tree.push(...entBranch.children);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
return tree;
|
|
287
|
+
}
|
|
246
288
|
/** */
|
|
247
289
|
promptForEnviro(rootMap, enterprise, defaultEnviro, takeDefaults = false) {
|
|
248
290
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rootmap-ui-utils.js","sourceRoot":"","sources":["../../src/uilogic/rootmap-ui-utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rootmap-ui-utils.js","sourceRoot":"","sources":["../../src/uilogic/rootmap-ui-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,29 @@ export declare class UserContextLoader {
|
|
|
9
9
|
private cliEnviro;
|
|
10
10
|
private logger;
|
|
11
11
|
constructor(cliEnviro: CliEnviro, logger: IBetterLogger);
|
|
12
|
+
/** The env variable that holds the user context for the current process. */
|
|
13
|
+
static readonly USER_CONTEXT_ENV_VAR = "CODIAC_USER_CNTX";
|
|
14
|
+
/** (context is Machine-User scoped)
|
|
15
|
+
* Attempts to load the user and select from their tenant tokens and enterprise contexts persisted locally by the CLI.
|
|
16
|
+
* Returns undefined for not found and throws any encountered exceptions.
|
|
17
|
+
*
|
|
18
|
+
* The full user context will STILL be returned no matter what,
|
|
19
|
+
* whether or not there was a matching tenant profile.
|
|
20
|
+
* But if the context has no matching tenant profile,
|
|
21
|
+
* the CURRENT tenantCode, token, and enterprise will be undefined (ie: a tenantless user, a principal user).
|
|
22
|
+
*
|
|
23
|
+
* This way, if the cache is stale, the current user can still authenticate to refresh it.
|
|
24
|
+
* eg: if the user was just seconds ago added to a tenant,
|
|
25
|
+
* this pattern can pick up the new profile from the remote auth service without requiring a manual login.
|
|
26
|
+
*
|
|
27
|
+
* @param tenantCode Enforces the given tenantCode. When set, current context will be ignored if it does not match it.
|
|
28
|
+
* */
|
|
29
|
+
loadUserContext(tenantCode?: string | undefined): UserContext | undefined;
|
|
30
|
+
/** Deserializes the full user context object from the process.env, if the env variable exists.
|
|
31
|
+
*
|
|
32
|
+
* @param tenantCode Enforces the given tenantCode. When set, current context will be ignored if it does not match it.
|
|
33
|
+
* */
|
|
34
|
+
loadUserContext_fromProcessEnv(): UserContext | undefined;
|
|
12
35
|
/** (context is Machine-User scoped)
|
|
13
36
|
* Attempts to load the user and select from their tenant tokens and enterprise contexts persisted locally by the CLI.
|
|
14
37
|
* Returns undefined for not found and throws any encountered exceptions.
|
|
@@ -24,7 +47,7 @@ export declare class UserContextLoader {
|
|
|
24
47
|
*
|
|
25
48
|
* @param tenantCode Enforces the given tenantCode. When set, current context will be ignored if it does not match it.
|
|
26
49
|
* */
|
|
27
|
-
|
|
50
|
+
loadUserContext_fromFile(tenantCode?: string | undefined): UserContext | undefined;
|
|
28
51
|
/** Mutates the given object's current tenant properties
|
|
29
52
|
* (currentToken, currentEnterprise, currentTenantCode, tokenExpiration)
|
|
30
53
|
* to those of the current tenant code,
|
|
@@ -4,6 +4,7 @@ exports.UserContextManager = exports.UserContextLoader = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const path = require("path");
|
|
6
6
|
const fs = require("fs");
|
|
7
|
+
const _ = require("lodash");
|
|
7
8
|
const codiac_relay_contracts_1 = require("@codiac.io/codiac-relay-contracts");
|
|
8
9
|
const codiac_ops_common_1 = require("@codiac.io/codiac-ops-common");
|
|
9
10
|
const codiac_constants_1 = require("./codiac-constants");
|
|
@@ -14,6 +15,60 @@ class UserContextLoader {
|
|
|
14
15
|
this.cliEnviro = cliEnviro;
|
|
15
16
|
this.logger = logger;
|
|
16
17
|
}
|
|
18
|
+
/** (context is Machine-User scoped)
|
|
19
|
+
* Attempts to load the user and select from their tenant tokens and enterprise contexts persisted locally by the CLI.
|
|
20
|
+
* Returns undefined for not found and throws any encountered exceptions.
|
|
21
|
+
*
|
|
22
|
+
* The full user context will STILL be returned no matter what,
|
|
23
|
+
* whether or not there was a matching tenant profile.
|
|
24
|
+
* But if the context has no matching tenant profile,
|
|
25
|
+
* the CURRENT tenantCode, token, and enterprise will be undefined (ie: a tenantless user, a principal user).
|
|
26
|
+
*
|
|
27
|
+
* This way, if the cache is stale, the current user can still authenticate to refresh it.
|
|
28
|
+
* eg: if the user was just seconds ago added to a tenant,
|
|
29
|
+
* this pattern can pick up the new profile from the remote auth service without requiring a manual login.
|
|
30
|
+
*
|
|
31
|
+
* @param tenantCode Enforces the given tenantCode. When set, current context will be ignored if it does not match it.
|
|
32
|
+
* */
|
|
33
|
+
loadUserContext(tenantCode) {
|
|
34
|
+
let context;
|
|
35
|
+
let source;
|
|
36
|
+
// 1. Retrieve and deserialize
|
|
37
|
+
const processCntx = this.loadUserContext_fromProcessEnv();
|
|
38
|
+
if (processCntx) {
|
|
39
|
+
context = processCntx;
|
|
40
|
+
source = "process env";
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
const machineCntx = this.loadUserContext_fromFile(tenantCode);
|
|
44
|
+
context = machineCntx;
|
|
45
|
+
source = "file";
|
|
46
|
+
}
|
|
47
|
+
if (context) {
|
|
48
|
+
// 2. Switch to requested tenant code (if given)
|
|
49
|
+
if (tenantCode != undefined && !_.isEmpty(tenantCode)) {
|
|
50
|
+
if (context.currentTenantCode !== tenantCode) {
|
|
51
|
+
this.trySetCurrentProfileFor(tenantCode, context);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
this.logger.trace(`Current user context (from ${source} cache). User: ${context.userName}, TenantCode: ${context.currentTenantCode}`);
|
|
55
|
+
}
|
|
56
|
+
return context;
|
|
57
|
+
}
|
|
58
|
+
/** Deserializes the full user context object from the process.env, if the env variable exists.
|
|
59
|
+
*
|
|
60
|
+
* @param tenantCode Enforces the given tenantCode. When set, current context will be ignored if it does not match it.
|
|
61
|
+
* */
|
|
62
|
+
loadUserContext_fromProcessEnv() {
|
|
63
|
+
let context;
|
|
64
|
+
this.logger.trace(`Reading env variable ${UserContextLoader.USER_CONTEXT_ENV_VAR}...`);
|
|
65
|
+
const cntxEncoded = process.env[UserContextLoader.USER_CONTEXT_ENV_VAR];
|
|
66
|
+
if (cntxEncoded != undefined && !_.isEmpty(cntxEncoded)) {
|
|
67
|
+
const json = Buffer.from(cntxEncoded, 'base64').toString('utf-8'); // jwt-lib uses "binary" as the string encoding here...
|
|
68
|
+
context = JSON.parse(json);
|
|
69
|
+
}
|
|
70
|
+
return context;
|
|
71
|
+
}
|
|
17
72
|
/** (context is Machine-User scoped)
|
|
18
73
|
* Attempts to load the user and select from their tenant tokens and enterprise contexts persisted locally by the CLI.
|
|
19
74
|
* Returns undefined for not found and throws any encountered exceptions.
|
|
@@ -29,28 +84,26 @@ class UserContextLoader {
|
|
|
29
84
|
*
|
|
30
85
|
* @param tenantCode Enforces the given tenantCode. When set, current context will be ignored if it does not match it.
|
|
31
86
|
* */
|
|
32
|
-
|
|
87
|
+
loadUserContext_fromFile(tenantCode) {
|
|
33
88
|
// let output: UserContext | undefined;
|
|
34
89
|
// let homeDir = "~/"; // path.posix.resolve("~/"); // NOTE: This tilde (~) may not be valid on a windows box.
|
|
35
90
|
// let pathName = path.posix.join(homeDir, OpsConstants.CLI_CONFIG_FOLDER_NAME, CliConstants.USER_CONTEXT_FILENAME);
|
|
36
91
|
let pathName = path.posix.join(this.cliEnviro.localProgramFolder, codiac_constants_1.CliConstants.USER_CONTEXT_FILENAME);
|
|
37
92
|
this.logger.trace(`Reading ${pathName}...`);
|
|
38
93
|
let machineUserContext = codiac_ops_common_1.JsonUtils.deserializeJsonFile(pathName);
|
|
39
|
-
if (machineUserContext) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
this.logger.trace(`Current user context (from cache). User: ${machineUserContext.userName}, TenantCode: ${machineUserContext.currentTenantCode}`);
|
|
53
|
-
}
|
|
94
|
+
// if (machineUserContext) {
|
|
95
|
+
// if (tenantCode === undefined) {
|
|
96
|
+
// // output = machineUserContext;
|
|
97
|
+
// } else { // ENFORCE the given tenantCode
|
|
98
|
+
// if (machineUserContext.currentTenantCode === tenantCode) {
|
|
99
|
+
// // output = machineUserContext;
|
|
100
|
+
// } else {
|
|
101
|
+
// this.trySetCurrentProfileFor(tenantCode, machineUserContext);
|
|
102
|
+
// // output = machineUserContext;
|
|
103
|
+
// }
|
|
104
|
+
// }
|
|
105
|
+
// this.logger.trace(`Current user context (from cache). User: ${machineUserContext.userName}, TenantCode: ${machineUserContext.currentTenantCode}`)
|
|
106
|
+
// }
|
|
54
107
|
return machineUserContext; // output;
|
|
55
108
|
}
|
|
56
109
|
/** Mutates the given object's current tenant properties
|
|
@@ -80,6 +133,13 @@ class UserContextLoader {
|
|
|
80
133
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
81
134
|
return new Promise((resolve, reject) => {
|
|
82
135
|
try {
|
|
136
|
+
// ---------------------------------------
|
|
137
|
+
// 1. Env variable
|
|
138
|
+
// ---------------------------------------
|
|
139
|
+
delete process.env[UserContextLoader.USER_CONTEXT_ENV_VAR];
|
|
140
|
+
// ---------------------------------------
|
|
141
|
+
// 2. File
|
|
142
|
+
// ---------------------------------------
|
|
83
143
|
// let homeDir = "~/"; // path.posix.resolve("~/"); // NOTE: This tilde (~) may not be valid on a windows box.
|
|
84
144
|
// let pathName = path.posix.join(OpsUtils.resolveHomeDir(homeDir), OpsConstants.CLI_CONFIG_FOLDER_NAME, CliConstants.USER_CONTEXT_FILENAME);
|
|
85
145
|
let pathName = path.posix.join(this.cliEnviro.localProgramFolder, codiac_constants_1.CliConstants.USER_CONTEXT_FILENAME);
|
|
@@ -103,6 +163,8 @@ class UserContextLoader {
|
|
|
103
163
|
}
|
|
104
164
|
}
|
|
105
165
|
exports.UserContextLoader = UserContextLoader;
|
|
166
|
+
/** The env variable that holds the user context for the current process. */
|
|
167
|
+
UserContextLoader.USER_CONTEXT_ENV_VAR = "CODIAC_USER_CNTX";
|
|
106
168
|
/** Provides cruds for the user context, persisting to the local context config file. */
|
|
107
169
|
class UserContextManager {
|
|
108
170
|
constructor(cliEnviro, authClient, logger) {
|
|
@@ -149,6 +211,14 @@ class UserContextManager {
|
|
|
149
211
|
* TODO: Consider writing this to the cache folder instead of the config folder.
|
|
150
212
|
* Throws any encountered exceptions. */
|
|
151
213
|
writeUserContext(userContext) {
|
|
214
|
+
// ---------------------------------------
|
|
215
|
+
// 1. Env variable (base64-encoded json)
|
|
216
|
+
// ---------------------------------------
|
|
217
|
+
const json = JSON.stringify(userContext);
|
|
218
|
+
process.env[UserContextLoader.USER_CONTEXT_ENV_VAR] = Buffer.from(json).toString('base64');
|
|
219
|
+
// ---------------------------------------
|
|
220
|
+
// 2. Json File
|
|
221
|
+
// ---------------------------------------
|
|
152
222
|
// let pathName = path.join("~/", OpsConstants.CLI_CONFIG_FOLDER_NAME, CliConstants.USER_CONTEXT_FILENAME);
|
|
153
223
|
let pathName = path.join(this.cliEnviro.localProgramFolder, codiac_constants_1.CliConstants.USER_CONTEXT_FILENAME);
|
|
154
224
|
this.logger.debug(`Writing UserContext to ${pathName}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-context-loader.js","sourceRoot":"","sources":["../src/user-context-loader.ts"],"names":[],"mappings":";;;;AAAA,6BAA6B;AAC7B,yBAAyB;
|
|
1
|
+
{"version":3,"file":"user-context-loader.js","sourceRoot":"","sources":["../src/user-context-loader.ts"],"names":[],"mappings":"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"}
|