contensis-cli 1.6.1-beta.2 → 1.6.1-beta.20
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/index.js +58301 -11
- package/dist/index.js.map +4 -4
- package/dist/shell.js +58040 -52
- package/dist/shell.js.map +4 -4
- package/esbuild.config.js +8 -13
- package/package.json +3 -2
- package/src/commands/create.ts +48 -0
- package/src/commands/dev.ts +12 -2
- package/src/commands/globalOptions.ts +5 -3
- package/src/commands/import.ts +46 -5
- package/src/commands/push.ts +8 -1
- package/src/commands/set.ts +69 -1
- package/src/factories/RequestHandlerFactory.ts +19 -8
- package/src/localisation/en-GB.ts +22 -4
- package/src/mappers/DevRequests-to-RequestHanderCliArgs.ts +25 -17
- package/src/models/CliService.d.ts +5 -1
- package/src/providers/GitHubCliModuleProvider.ts +8 -8
- package/src/providers/HttpProvider.ts +2 -2
- package/src/providers/file-provider.ts +3 -0
- package/src/services/ContensisCliService.ts +265 -23
- package/src/services/ContensisDevService.ts +99 -35
- package/src/shell.ts +7 -1
- package/src/util/console.printer.ts +52 -0
- package/src/util/logger.ts +3 -4
- package/src/util/os.ts +5 -3
- package/src/version.ts +1 -1
- package/dist/commands/connect.js +0 -44
- package/dist/commands/connect.js.map +0 -7
- package/dist/commands/copy.js +0 -78
- package/dist/commands/copy.js.map +0 -7
- package/dist/commands/create.js +0 -170
- package/dist/commands/create.js.map +0 -7
- package/dist/commands/dev.js +0 -78
- package/dist/commands/dev.js.map +0 -7
- package/dist/commands/diff.js +0 -57
- package/dist/commands/diff.js.map +0 -7
- package/dist/commands/execute.js +0 -103
- package/dist/commands/execute.js.map +0 -7
- package/dist/commands/get.js +0 -330
- package/dist/commands/get.js.map +0 -7
- package/dist/commands/globalOptions.js +0 -252
- package/dist/commands/globalOptions.js.map +0 -7
- package/dist/commands/import.js +0 -229
- package/dist/commands/import.js.map +0 -7
- package/dist/commands/index.js +0 -107
- package/dist/commands/index.js.map +0 -7
- package/dist/commands/list.js +0 -195
- package/dist/commands/list.js.map +0 -7
- package/dist/commands/login.js +0 -55
- package/dist/commands/login.js.map +0 -7
- package/dist/commands/push.js +0 -229
- package/dist/commands/push.js.map +0 -7
- package/dist/commands/remove.js +0 -193
- package/dist/commands/remove.js.map +0 -7
- package/dist/commands/set.js +0 -180
- package/dist/commands/set.js.map +0 -7
- package/dist/commands/update.js +0 -70
- package/dist/commands/update.js.map +0 -7
- package/dist/factories/RequestHandlerFactory.js +0 -221
- package/dist/factories/RequestHandlerFactory.js.map +0 -7
- package/dist/localisation/en-GB.js +0 -552
- package/dist/localisation/en-GB.js.map +0 -7
- package/dist/mappers/ContensisCliService-to-RequestHanderSiteConfigYaml.js +0 -56
- package/dist/mappers/ContensisCliService-to-RequestHanderSiteConfigYaml.js.map +0 -7
- package/dist/mappers/DevInit-to-CIWorkflow.js +0 -409
- package/dist/mappers/DevInit-to-CIWorkflow.js.map +0 -7
- package/dist/mappers/DevInit-to-RolePermissions.js +0 -56
- package/dist/mappers/DevInit-to-RolePermissions.js.map +0 -7
- package/dist/mappers/DevRequests-to-RequestHanderCliArgs.js +0 -161
- package/dist/mappers/DevRequests-to-RequestHanderCliArgs.js.map +0 -7
- package/dist/mappers/MixedFileData.js +0 -83
- package/dist/mappers/MixedFileData.js.map +0 -7
- package/dist/models/AppError.d.js +0 -2
- package/dist/models/AppError.d.js.map +0 -7
- package/dist/models/Cache.d.js +0 -2
- package/dist/models/Cache.d.js.map +0 -7
- package/dist/models/CliService.d.js +0 -17
- package/dist/models/CliService.d.js.map +0 -7
- package/dist/models/DevService.d.js +0 -17
- package/dist/models/DevService.d.js.map +0 -7
- package/dist/models/JsModules.d.js +0 -2
- package/dist/models/JsModules.d.js.map +0 -7
- package/dist/providers/CredentialProvider.js +0 -126
- package/dist/providers/CredentialProvider.js.map +0 -7
- package/dist/providers/GitHubCliModuleProvider.js +0 -115
- package/dist/providers/GitHubCliModuleProvider.js.map +0 -7
- package/dist/providers/HttpProvider.js +0 -73
- package/dist/providers/HttpProvider.js.map +0 -7
- package/dist/providers/ManifestProvider.js +0 -50
- package/dist/providers/ManifestProvider.js.map +0 -7
- package/dist/providers/SessionCacheProvider.js +0 -132
- package/dist/providers/SessionCacheProvider.js.map +0 -7
- package/dist/providers/file-provider.js +0 -174
- package/dist/providers/file-provider.js.map +0 -7
- package/dist/services/ContensisAuthService.js +0 -88
- package/dist/services/ContensisAuthService.js.map +0 -7
- package/dist/services/ContensisCliService.js +0 -2598
- package/dist/services/ContensisCliService.js.map +0 -7
- package/dist/services/ContensisDevService.js +0 -387
- package/dist/services/ContensisDevService.js.map +0 -7
- package/dist/services/ContensisRoleService.js +0 -112
- package/dist/services/ContensisRoleService.js.map +0 -7
- package/dist/util/api-ids.js +0 -110
- package/dist/util/api-ids.js.map +0 -7
- package/dist/util/assert.js +0 -62
- package/dist/util/assert.js.map +0 -7
- package/dist/util/console.printer.js +0 -425
- package/dist/util/console.printer.js.map +0 -7
- package/dist/util/csv.formatter.js +0 -118
- package/dist/util/csv.formatter.js.map +0 -7
- package/dist/util/debug.js +0 -29
- package/dist/util/debug.js.map +0 -7
- package/dist/util/diff.js +0 -118
- package/dist/util/diff.js.map +0 -7
- package/dist/util/dotenv.js +0 -56
- package/dist/util/dotenv.js.map +0 -7
- package/dist/util/error.js +0 -36
- package/dist/util/error.js.map +0 -7
- package/dist/util/fetch.js +0 -69
- package/dist/util/fetch.js.map +0 -7
- package/dist/util/find.js +0 -39
- package/dist/util/find.js.map +0 -7
- package/dist/util/git.js +0 -145
- package/dist/util/git.js.map +0 -7
- package/dist/util/gitignore.js +0 -61
- package/dist/util/gitignore.js.map +0 -7
- package/dist/util/html.formatter.js +0 -70
- package/dist/util/html.formatter.js.map +0 -7
- package/dist/util/index.js +0 -68
- package/dist/util/index.js.map +0 -7
- package/dist/util/json.formatter.js +0 -66
- package/dist/util/json.formatter.js.map +0 -7
- package/dist/util/logger.js +0 -304
- package/dist/util/logger.js.map +0 -7
- package/dist/util/os.js +0 -46
- package/dist/util/os.js.map +0 -7
- package/dist/util/timers.js +0 -49
- package/dist/util/timers.js.map +0 -7
- package/dist/util/xml.formatter.js +0 -62
- package/dist/util/xml.formatter.js.map +0 -7
- package/dist/util/yaml.js +0 -44
- package/dist/util/yaml.js.map +0 -7
- package/dist/version.js +0 -29
- package/dist/version.js.map +0 -7
|
@@ -1,387 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to2, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to2, key) && key !== except)
|
|
16
|
-
__defProp(to2, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to2;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var ContensisDevService_exports = {};
|
|
30
|
-
__export(ContensisDevService_exports, {
|
|
31
|
-
default: () => ContensisDevService_default,
|
|
32
|
-
devCommand: () => devCommand
|
|
33
|
-
});
|
|
34
|
-
module.exports = __toCommonJS(ContensisDevService_exports);
|
|
35
|
-
var import_ansi_escapes = __toESM(require("ansi-escapes"));
|
|
36
|
-
var import_await_to_js = __toESM(require("await-to-js"));
|
|
37
|
-
var import_inquirer = __toESM(require("inquirer"));
|
|
38
|
-
var import_nanospinner = require("nanospinner");
|
|
39
|
-
var import_ContensisRoleService = __toESM(require("./ContensisRoleService"));
|
|
40
|
-
var import_RequestHandlerFactory = require("../factories/RequestHandlerFactory");
|
|
41
|
-
var import_DevInit_to_CIWorkflow = require("../mappers/DevInit-to-CIWorkflow");
|
|
42
|
-
var import_DevRequests_to_RequestHanderCliArgs = __toESM(require("../mappers/DevRequests-to-RequestHanderCliArgs"));
|
|
43
|
-
var import_DevInit_to_RolePermissions = require("../mappers/DevInit-to-RolePermissions");
|
|
44
|
-
var import_file_provider = require("../providers/file-provider");
|
|
45
|
-
var import_diff = require("../util/diff");
|
|
46
|
-
var import_dotenv = require("../util/dotenv");
|
|
47
|
-
var import_find = require("../util/find");
|
|
48
|
-
var import_git = require("../util/git");
|
|
49
|
-
var import_json = require("../util/json.formatter");
|
|
50
|
-
var import_os = require("../util/os");
|
|
51
|
-
var import_gitignore = require("../util/gitignore");
|
|
52
|
-
class ContensisDev extends import_ContensisRoleService.default {
|
|
53
|
-
git;
|
|
54
|
-
blockId;
|
|
55
|
-
deployCredentials = {
|
|
56
|
-
clientId: "",
|
|
57
|
-
clientSecret: ""
|
|
58
|
-
};
|
|
59
|
-
constructor(args, outputOpts, contensisOpts = {}) {
|
|
60
|
-
super(args, outputOpts, contensisOpts);
|
|
61
|
-
}
|
|
62
|
-
DevelopmentInit = async (projectHome, opts) => {
|
|
63
|
-
var _a, _b;
|
|
64
|
-
const git = this.git = new import_git.GitHelper(projectHome);
|
|
65
|
-
const isRepo = git.checkIsRepo();
|
|
66
|
-
if (!isRepo) return;
|
|
67
|
-
const { dryRun = false } = opts || {};
|
|
68
|
-
const { currentEnv, currentProject, log, messages } = this;
|
|
69
|
-
const contensis = await this.ConnectContensis();
|
|
70
|
-
if (contensis) {
|
|
71
|
-
const validateBlockId = (blockId2) => {
|
|
72
|
-
const pattern = /^[0-9a-z](-?[0-9a-z])*$/;
|
|
73
|
-
if (blockId2.length >= 1 && blockId2.length <= 225) {
|
|
74
|
-
return pattern.test(blockId2);
|
|
75
|
-
} else return false;
|
|
76
|
-
};
|
|
77
|
-
const { blockId } = await import_inquirer.default.prompt({
|
|
78
|
-
name: "blockId",
|
|
79
|
-
type: "input",
|
|
80
|
-
prefix: "\u{1F9F1}",
|
|
81
|
-
message: messages.devinit.blockIdQuestion,
|
|
82
|
-
validate: validateBlockId,
|
|
83
|
-
default: git.name
|
|
84
|
-
});
|
|
85
|
-
this.blockId = blockId.toLowerCase();
|
|
86
|
-
log.success(`Valid block id: ${blockId.toLowerCase()}`);
|
|
87
|
-
const [keysErr, apiKeys] = await contensis.apiKeys.GetKeys();
|
|
88
|
-
if (keysErr) {
|
|
89
|
-
log.error(messages.keys.noList(currentEnv));
|
|
90
|
-
log.error((0, import_json.jsonFormatter)(keysErr));
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
const apiKeyExists = (findKey) => apiKeys == null ? void 0 : apiKeys.find(
|
|
94
|
-
(k) => k.name.trim().toLowerCase() === (findKey == null ? void 0 : findKey.trim().toLowerCase())
|
|
95
|
-
);
|
|
96
|
-
const workflowFiles = git.workflows;
|
|
97
|
-
let ciFileName = git.ciFileName;
|
|
98
|
-
const apiKeyName = `block-${currentProject}-${blockId}`.toLowerCase();
|
|
99
|
-
const devKeyName = `${apiKeyName}`;
|
|
100
|
-
const devKeyDescription = `Created by Contensis to allow API access from the running block`;
|
|
101
|
-
let existingDevKey = apiKeyExists(devKeyName);
|
|
102
|
-
const deployKeyName = `${apiKeyName}-ci`;
|
|
103
|
-
const deployKeyDescription = `Created by the Contensis CLI for use in continuous integration`;
|
|
104
|
-
let existingDeployKey = apiKeyExists(deployKeyName);
|
|
105
|
-
const errors = [];
|
|
106
|
-
log.raw("");
|
|
107
|
-
log.success(messages.devinit.intro());
|
|
108
|
-
log.raw(
|
|
109
|
-
log.infoText(
|
|
110
|
-
messages.devinit.projectDetails(
|
|
111
|
-
git.name,
|
|
112
|
-
currentEnv,
|
|
113
|
-
currentProject,
|
|
114
|
-
blockId,
|
|
115
|
-
git
|
|
116
|
-
)
|
|
117
|
-
)
|
|
118
|
-
);
|
|
119
|
-
log.raw(
|
|
120
|
-
log.infoText(
|
|
121
|
-
messages.devinit.developmentKey(devKeyName, !!existingDevKey)
|
|
122
|
-
)
|
|
123
|
-
);
|
|
124
|
-
log.raw(
|
|
125
|
-
log.infoText(
|
|
126
|
-
messages.devinit.deploymentKey(deployKeyName, !!existingDeployKey)
|
|
127
|
-
)
|
|
128
|
-
);
|
|
129
|
-
log.raw("");
|
|
130
|
-
if (Array.isArray(workflowFiles) && workflowFiles.length > 1) {
|
|
131
|
-
({ ciFileName } = await import_inquirer.default.prompt([
|
|
132
|
-
{
|
|
133
|
-
type: "list",
|
|
134
|
-
prefix: "\u29F0",
|
|
135
|
-
message: messages.devinit.ciMultipleChoices(),
|
|
136
|
-
name: "ciFileName",
|
|
137
|
-
choices: workflowFiles,
|
|
138
|
-
default: workflowFiles.find((f) => f.includes("docker"))
|
|
139
|
-
}
|
|
140
|
-
]));
|
|
141
|
-
log.raw("");
|
|
142
|
-
git.ciFileName = ciFileName;
|
|
143
|
-
}
|
|
144
|
-
log.raw(log.infoText(messages.devinit.ciDetails(ciFileName)));
|
|
145
|
-
const { loc } = await import_inquirer.default.prompt({
|
|
146
|
-
name: "loc",
|
|
147
|
-
type: "list",
|
|
148
|
-
prefix: "\u{1F511}",
|
|
149
|
-
// Where would you like to store your client id/secret?
|
|
150
|
-
message: messages.devinit.clientDetailsLocation(),
|
|
151
|
-
choices: [
|
|
152
|
-
{
|
|
153
|
-
name: messages.devinit.clientDetailsInGit(git),
|
|
154
|
-
value: "git"
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
name: messages.devinit.clientDetailsInEnv(),
|
|
158
|
-
value: "env"
|
|
159
|
-
}
|
|
160
|
-
]
|
|
161
|
-
});
|
|
162
|
-
log.raw("");
|
|
163
|
-
log.help(messages.devinit.ciIntro(git, loc));
|
|
164
|
-
if (!dryRun) {
|
|
165
|
-
const { confirm } = await import_inquirer.default.prompt([
|
|
166
|
-
{
|
|
167
|
-
type: "confirm",
|
|
168
|
-
message: messages.devinit.confirm(),
|
|
169
|
-
name: "confirm",
|
|
170
|
-
default: false
|
|
171
|
-
}
|
|
172
|
-
]);
|
|
173
|
-
log.raw("");
|
|
174
|
-
if (!confirm) return;
|
|
175
|
-
}
|
|
176
|
-
let accessToken = void 0;
|
|
177
|
-
const spinner = (0, import_nanospinner.createSpinner)(messages.devinit.accessTokenFetch());
|
|
178
|
-
spinner.start();
|
|
179
|
-
const token = await this.GetDeliveryApiKey();
|
|
180
|
-
if (token) {
|
|
181
|
-
accessToken = token;
|
|
182
|
-
spinner.success({ text: messages.devinit.accessTokenSuccess(token) });
|
|
183
|
-
log.raw("");
|
|
184
|
-
} else {
|
|
185
|
-
spinner.error();
|
|
186
|
-
this.log.error(messages.devinit.accessTokenFailed());
|
|
187
|
-
return;
|
|
188
|
-
}
|
|
189
|
-
const checkpoint = (op) => {
|
|
190
|
-
if (errors.length) throw errors[0];
|
|
191
|
-
else log.debug(`${op} completed ok`);
|
|
192
|
-
return true;
|
|
193
|
-
};
|
|
194
|
-
const [getRolesErr, roles] = await (0, import_await_to_js.default)(contensis.roles.GetRoles());
|
|
195
|
-
if (!roles && getRolesErr) errors.push(getRolesErr);
|
|
196
|
-
checkpoint(`fetched ${roles == null ? void 0 : roles.length} roles`);
|
|
197
|
-
if (dryRun) {
|
|
198
|
-
checkpoint(`skip api key creation (dry-run)`);
|
|
199
|
-
} else {
|
|
200
|
-
const devKeyExisted = !!existingDevKey;
|
|
201
|
-
if (!existingDevKey) {
|
|
202
|
-
existingDevKey = await this.CreateOrUpdateApiKey(
|
|
203
|
-
existingDevKey,
|
|
204
|
-
devKeyName,
|
|
205
|
-
devKeyDescription
|
|
206
|
-
);
|
|
207
|
-
log.success(messages.devinit.createDevKey(devKeyName, devKeyExisted));
|
|
208
|
-
}
|
|
209
|
-
const deployKeyExisted = !!existingDeployKey;
|
|
210
|
-
if (!existingDeployKey) {
|
|
211
|
-
existingDeployKey = await this.CreateOrUpdateApiKey(
|
|
212
|
-
existingDeployKey,
|
|
213
|
-
deployKeyName,
|
|
214
|
-
deployKeyDescription
|
|
215
|
-
);
|
|
216
|
-
}
|
|
217
|
-
if (existingDeployKey) {
|
|
218
|
-
this.deployCredentials.clientId = existingDeployKey == null ? void 0 : existingDeployKey.id;
|
|
219
|
-
this.deployCredentials.clientSecret = existingDeployKey == null ? void 0 : existingDeployKey.sharedSecret;
|
|
220
|
-
}
|
|
221
|
-
const deployRoleName = `Role for CI push of block '${blockId}'`;
|
|
222
|
-
const deplyRoleDescription = `Created by the Contensis CLI for use in continuous integration`;
|
|
223
|
-
let existingDeployRole = (0, import_find.findByIdOrName)(
|
|
224
|
-
roles || [],
|
|
225
|
-
deployRoleName,
|
|
226
|
-
true
|
|
227
|
-
);
|
|
228
|
-
existingDeployRole = await this.CreateOrUpdateRole(
|
|
229
|
-
existingDeployRole,
|
|
230
|
-
(0, import_DevInit_to_RolePermissions.deployKeyRole)(deployKeyName, deployRoleName, deplyRoleDescription)
|
|
231
|
-
);
|
|
232
|
-
checkpoint("deploy key role assigned");
|
|
233
|
-
log.success(
|
|
234
|
-
messages.devinit.createDeployKey(deployRoleName, deployKeyExisted)
|
|
235
|
-
);
|
|
236
|
-
checkpoint("api keys done");
|
|
237
|
-
}
|
|
238
|
-
const envFilePath = `${projectHome}/.env`;
|
|
239
|
-
const existingEnvFile = (0, import_file_provider.readFile)(envFilePath);
|
|
240
|
-
const existingEnvFileArray = (existingEnvFile || "").split("\n").filter((l) => !!l);
|
|
241
|
-
const envContentsToAdd = {
|
|
242
|
-
ALIAS: currentEnv,
|
|
243
|
-
PROJECT_API_ID: currentProject,
|
|
244
|
-
BLOCK_ID: blockId
|
|
245
|
-
};
|
|
246
|
-
if (accessToken) envContentsToAdd["ACCESS_TOKEN"] = accessToken;
|
|
247
|
-
if (loc === "env") {
|
|
248
|
-
envContentsToAdd["CONTENSIS_CLIENT_ID"] = (existingDevKey == null ? void 0 : existingDevKey.id) || messages.devinit.dryRunKeyMessage(dryRun);
|
|
249
|
-
envContentsToAdd["CONTENSIS_CLIENT_SECRET"] = (existingDevKey == null ? void 0 : existingDevKey.sharedSecret) || messages.devinit.dryRunKeyMessage(dryRun);
|
|
250
|
-
}
|
|
251
|
-
const removeEnvItems = (items) => {
|
|
252
|
-
const indexesToRemove = [];
|
|
253
|
-
for (let i = 0; i < existingEnvFileArray.length; i++) {
|
|
254
|
-
for (const item of items) {
|
|
255
|
-
if (existingEnvFileArray[i].includes(item)) {
|
|
256
|
-
indexesToRemove.push(i);
|
|
257
|
-
break;
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
for (let i = indexesToRemove.length - 1; i >= 0; i--) {
|
|
262
|
-
existingEnvFileArray.splice(indexesToRemove[i], 1);
|
|
263
|
-
}
|
|
264
|
-
};
|
|
265
|
-
if (loc === "git") {
|
|
266
|
-
removeEnvItems(["CONTENSIS_CLIENT_ID", "CONTENSIS_CLIENT_SECRET"]);
|
|
267
|
-
}
|
|
268
|
-
const envFileLines = (0, import_dotenv.mergeDotEnvFileContents)(
|
|
269
|
-
existingEnvFileArray,
|
|
270
|
-
envContentsToAdd
|
|
271
|
-
);
|
|
272
|
-
const newEnvFileContent = envFileLines.join("\n");
|
|
273
|
-
const envDiff = (0, import_diff.diffFileContent)(existingEnvFile || "", newEnvFileContent);
|
|
274
|
-
if (dryRun) {
|
|
275
|
-
if (envDiff) {
|
|
276
|
-
log.info(`Updating .env file ${(0, import_os.winSlash)(envFilePath)}:
|
|
277
|
-
${envDiff}`);
|
|
278
|
-
log.raw("");
|
|
279
|
-
}
|
|
280
|
-
checkpoint("skip .env file update (dry-run)");
|
|
281
|
-
} else {
|
|
282
|
-
if (envDiff) log.info(`Updating .env file ${(0, import_os.winSlash)(envFilePath)}`);
|
|
283
|
-
(0, import_file_provider.writeFile)(envFilePath, envFileLines.join("\n"));
|
|
284
|
-
checkpoint(".env file updated");
|
|
285
|
-
log.success(messages.devinit.writeEnvFile());
|
|
286
|
-
}
|
|
287
|
-
if (dryRun) {
|
|
288
|
-
checkpoint("skip .gitignore file update (dry-run)");
|
|
289
|
-
} else {
|
|
290
|
-
(0, import_gitignore.mergeContentsToAddWithGitignore)(`${projectHome}/.gitignore`, [".env"]);
|
|
291
|
-
log.raw("");
|
|
292
|
-
}
|
|
293
|
-
const mappedWorkflow = await (0, import_DevInit_to_CIWorkflow.mapCIWorkflowContent)(this, loc);
|
|
294
|
-
if (mappedWorkflow == null ? void 0 : mappedWorkflow.diff) {
|
|
295
|
-
log.info(
|
|
296
|
-
`Updating ${(0, import_os.winSlash)(ciFileName)} file:
|
|
297
|
-
${mappedWorkflow.diff}`
|
|
298
|
-
);
|
|
299
|
-
log.raw("");
|
|
300
|
-
}
|
|
301
|
-
if (dryRun) {
|
|
302
|
-
checkpoint("skip CI file update (dry-run)");
|
|
303
|
-
} else {
|
|
304
|
-
if (mappedWorkflow == null ? void 0 : mappedWorkflow.newWorkflow) {
|
|
305
|
-
if (mappedWorkflow == null ? void 0 : mappedWorkflow.diff) {
|
|
306
|
-
(0, import_file_provider.writeFile)(git.ciFilePath, mappedWorkflow.newWorkflow);
|
|
307
|
-
log.success(messages.devinit.writeCiFile(`./${ciFileName}`));
|
|
308
|
-
log.info(
|
|
309
|
-
messages.devinit.ciBlockTip(blockId, currentEnv, currentProject)
|
|
310
|
-
);
|
|
311
|
-
} else {
|
|
312
|
-
log.info(messages.devinit.ciFileNoChanges(`./${ciFileName}`));
|
|
313
|
-
}
|
|
314
|
-
log.raw("");
|
|
315
|
-
checkpoint("CI file updated");
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
if (loc === "git") {
|
|
319
|
-
log.warning(messages.devinit.addGitSecretsIntro());
|
|
320
|
-
log.help(
|
|
321
|
-
messages.devinit.addGitSecretsHelp(
|
|
322
|
-
git,
|
|
323
|
-
(existingDeployKey == null ? void 0 : existingDeployKey.id) || messages.devinit.dryRunKeyMessage(dryRun),
|
|
324
|
-
(existingDeployKey == null ? void 0 : existingDeployKey.sharedSecret) || messages.devinit.dryRunKeyMessage(dryRun)
|
|
325
|
-
)
|
|
326
|
-
);
|
|
327
|
-
}
|
|
328
|
-
if (dryRun) {
|
|
329
|
-
log.success(messages.devinit.dryRun());
|
|
330
|
-
log.help(messages.devinit.noChanges());
|
|
331
|
-
} else {
|
|
332
|
-
log.success(messages.devinit.success());
|
|
333
|
-
log.help(messages.devinit.startProjectTip());
|
|
334
|
-
const classicToken = await ((_a = this.auth) == null ? void 0 : _a.ClassicToken());
|
|
335
|
-
log.help(
|
|
336
|
-
import_ansi_escapes.default.link(
|
|
337
|
-
`Open Contensis`,
|
|
338
|
-
`${(_b = this.urls) == null ? void 0 : _b.cms}${classicToken ? `?SecurityToken=${classicToken}` : ""}`
|
|
339
|
-
)
|
|
340
|
-
);
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
};
|
|
344
|
-
ExecRequestHandler = async (blockId, overrideArgs = [], version) => {
|
|
345
|
-
var _a;
|
|
346
|
-
const { debug, log, messages } = this;
|
|
347
|
-
const spinner = !debug ? (0, import_nanospinner.createSpinner)(messages.devrequests.launch()) : log.info(messages.devrequests.launch());
|
|
348
|
-
const requestHandler = await (0, import_RequestHandlerFactory.createRequestHandler)(version);
|
|
349
|
-
const args = new import_DevRequests_to_RequestHanderCliArgs.default(this);
|
|
350
|
-
spinner == null ? void 0 : spinner.start();
|
|
351
|
-
await args.Create();
|
|
352
|
-
spinner == null ? void 0 : spinner.success();
|
|
353
|
-
const blockIdChoices = ((_a = args.siteConfig) == null ? void 0 : _a.blocks.map((block) => block.id)) || [];
|
|
354
|
-
blockIdChoices.push("none");
|
|
355
|
-
const defaultDeveloperUri = "http://localhost:3000";
|
|
356
|
-
const { overrideBlockId, overrideUri } = blockId.length ? {
|
|
357
|
-
overrideBlockId: blockId[0],
|
|
358
|
-
overrideUri: (blockId == null ? void 0 : blockId[1]) || defaultDeveloperUri
|
|
359
|
-
} : await import_inquirer.default.prompt([
|
|
360
|
-
{
|
|
361
|
-
type: "list",
|
|
362
|
-
prefix: "\u{1F9F1}",
|
|
363
|
-
message: messages.devrequests.overrideBlock(),
|
|
364
|
-
name: "overrideBlockId",
|
|
365
|
-
choices: blockIdChoices
|
|
366
|
-
},
|
|
367
|
-
{
|
|
368
|
-
type: "input",
|
|
369
|
-
prefix: "\u{1F517}",
|
|
370
|
-
message: messages.devrequests.overrideUri(),
|
|
371
|
-
name: "overrideUri",
|
|
372
|
-
default: defaultDeveloperUri
|
|
373
|
-
}
|
|
374
|
-
]);
|
|
375
|
-
args.overrideBlock(overrideBlockId, overrideUri);
|
|
376
|
-
await requestHandler(args.getArgs(overrideArgs));
|
|
377
|
-
};
|
|
378
|
-
}
|
|
379
|
-
const devCommand = (commandArgs, outputOpts, contensisOpts = {}) => {
|
|
380
|
-
return new ContensisDev(["", "", ...commandArgs], outputOpts, contensisOpts);
|
|
381
|
-
};
|
|
382
|
-
var ContensisDevService_default = ContensisDev;
|
|
383
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
384
|
-
0 && (module.exports = {
|
|
385
|
-
devCommand
|
|
386
|
-
});
|
|
387
|
-
//# sourceMappingURL=ContensisDevService.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/services/ContensisDevService.ts"],
|
|
4
|
-
"sourcesContent": ["import ansiEscapes from 'ansi-escapes';\nimport to from 'await-to-js';\nimport inquirer from 'inquirer';\nimport { createSpinner } from 'nanospinner';\n\nimport { Role } from 'contensis-management-api/lib/models';\nimport { MigrateRequest } from 'migratortron';\n\nimport ContensisRole from './ContensisRoleService';\nimport { createRequestHandler } from '~/factories/RequestHandlerFactory';\nimport { OutputOptionsConstructorArg } from '~/models/CliService';\nimport { EnvContentsToAdd } from '~/models/DevService';\nimport { mapCIWorkflowContent } from '~/mappers/DevInit-to-CIWorkflow';\nimport RequestHandlerArgs from '~/mappers/DevRequests-to-RequestHanderCliArgs';\nimport { deployKeyRole } from '~/mappers/DevInit-to-RolePermissions';\nimport { readFile, writeFile } from '~/providers/file-provider';\nimport { diffFileContent } from '~/util/diff';\nimport { mergeDotEnvFileContents } from '~/util/dotenv';\nimport { findByIdOrName } from '~/util/find';\nimport { GitHelper } from '~/util/git';\nimport { jsonFormatter } from '~/util/json.formatter';\nimport { winSlash } from '~/util/os';\nimport { mergeContentsToAddWithGitignore } from '~/util/gitignore';\n\nclass ContensisDev extends ContensisRole {\n git!: GitHelper;\n blockId!: string;\n\n deployCredentials = {\n clientId: '',\n clientSecret: '',\n };\n\n constructor(\n args: string[],\n outputOpts?: OutputOptionsConstructorArg,\n contensisOpts: Partial<MigrateRequest> = {}\n ) {\n super(args, outputOpts, contensisOpts);\n }\n\n DevelopmentInit = async (projectHome: string, opts: any) => {\n // Retrieve git info\n const git = (this.git = new GitHelper(projectHome));\n // Check if we are in a git repo\n const isRepo = git.checkIsRepo();\n if (!isRepo) return;\n\n const { dryRun = false } = opts || {};\n const { currentEnv, currentProject, log, messages } = this;\n const contensis = await this.ConnectContensis();\n\n if (contensis) {\n // First we need to get the block id from the user\n const validateBlockId = (blockId: string) => {\n const pattern = /^[0-9a-z](-?[0-9a-z])*$/;\n if (blockId.length >= 1 && blockId.length <= 225) {\n return pattern.test(blockId);\n } else return false;\n };\n const { blockId } = await inquirer.prompt({\n name: 'blockId',\n type: 'input',\n prefix: '\uD83E\uDDF1',\n message: messages.devinit.blockIdQuestion,\n validate: validateBlockId,\n default: git.name,\n });\n // make sure block id is lowercase\n this.blockId = blockId.toLowerCase();\n log.success(`Valid block id: ${blockId.toLowerCase()}`);\n\n // Retrieve keys list for env\n const [keysErr, apiKeys] = await contensis.apiKeys.GetKeys();\n if (keysErr) {\n log.error(messages.keys.noList(currentEnv));\n log.error(jsonFormatter(keysErr));\n return;\n }\n const apiKeyExists = (findKey: string) =>\n apiKeys?.find(\n k => k.name.trim().toLowerCase() === findKey?.trim().toLowerCase()\n );\n\n // Retrieve ci workflow info\n const workflowFiles = git.workflows;\n\n // Set variables for performing operations and logging etc.\n let ciFileName = git.ciFileName;\n\n const apiKeyName = `block-${currentProject}-${blockId}`.toLowerCase();\n\n const devKeyName = `${apiKeyName}`;\n const devKeyDescription = `Created by Contensis to allow API access from the running block`;\n let existingDevKey = apiKeyExists(devKeyName);\n\n const deployKeyName = `${apiKeyName}-ci`;\n const deployKeyDescription = `Created by the Contensis CLI for use in continuous integration`;\n\n let existingDeployKey = apiKeyExists(deployKeyName);\n\n // const blockId = git.name;\n const errors = [] as AppError[];\n\n // Start render console output\n log.raw('');\n log.success(messages.devinit.intro());\n log.raw(\n log.infoText(\n messages.devinit.projectDetails(\n git.name,\n currentEnv,\n currentProject,\n blockId,\n git\n )\n )\n );\n log.raw(\n log.infoText(\n messages.devinit.developmentKey(devKeyName, !!existingDevKey)\n )\n );\n log.raw(\n log.infoText(\n messages.devinit.deploymentKey(deployKeyName, !!existingDeployKey)\n )\n );\n log.raw('');\n\n if (Array.isArray(workflowFiles) && workflowFiles.length > 1) {\n // Choose GitHub workflow file (if multiple)\n ({ ciFileName } = await inquirer.prompt([\n {\n type: 'list',\n prefix: '\u29F0',\n message: messages.devinit.ciMultipleChoices(),\n name: 'ciFileName',\n choices: workflowFiles,\n default: workflowFiles.find(f => f.includes('docker')),\n },\n ]));\n log.raw('');\n git.ciFileName = ciFileName;\n }\n\n log.raw(log.infoText(messages.devinit.ciDetails(ciFileName)));\n\n // Location for Client ID / Secret.\n const { loc } = await inquirer.prompt({\n name: 'loc',\n type: 'list',\n prefix: '\uD83D\uDD11',\n // Where would you like to store your client id/secret?\n message: messages.devinit.clientDetailsLocation(),\n choices: [\n {\n name: messages.devinit.clientDetailsInGit(git),\n value: 'git',\n },\n {\n name: messages.devinit.clientDetailsInEnv(),\n value: 'env',\n },\n ],\n });\n\n log.raw('');\n log.help(messages.devinit.ciIntro(git, loc));\n\n if (!dryRun) {\n // Confirm prompt\n const { confirm } = await inquirer.prompt([\n {\n type: 'confirm',\n message: messages.devinit.confirm(),\n name: 'confirm',\n default: false,\n },\n ]);\n log.raw('');\n if (!confirm) return;\n }\n\n // Fetching access token\n let accessToken: string | undefined = undefined;\n\n const spinner = createSpinner(messages.devinit.accessTokenFetch());\n spinner.start();\n\n const token = await this.GetDeliveryApiKey();\n\n if (token) {\n accessToken = token;\n spinner.success({ text: messages.devinit.accessTokenSuccess(token) });\n log.raw('');\n } else {\n spinner.error();\n this.log.error(messages.devinit.accessTokenFailed());\n return;\n }\n\n // Magic happens...\n const checkpoint = (op: string) => {\n if (errors.length) throw errors[0];\n else log.debug(`${op} completed ok`);\n return true;\n };\n\n // Arrange API keys for development and deployment\n const [getRolesErr, roles] = await to(contensis.roles.GetRoles());\n if (!roles && getRolesErr) errors.push(getRolesErr);\n checkpoint(`fetched ${roles?.length} roles`);\n\n if (dryRun) {\n checkpoint(`skip api key creation (dry-run)`);\n } else {\n // if dev api key doesn't exist go and create it (we need this for local development, we will store these details in the .env file).\n const devKeyExisted = !!existingDevKey;\n if (!existingDevKey) {\n existingDevKey = await this.CreateOrUpdateApiKey(\n existingDevKey,\n devKeyName,\n devKeyDescription\n );\n log.success(messages.devinit.createDevKey(devKeyName, devKeyExisted));\n }\n // NF 24/11/23 Added this commented code back in as we are not assigning the dev key to any role here\n // // Ensure dev API key is assigned to a role\n // let existingDevRole = findByIdOrName(roles || [], devKeyName, true) as\n // | Role\n // | undefined;\n // existingDevRole = await this.CreateOrUpdateRole(\n // existingDevRole,\n // devKeyRole(devKeyName, devKeyDescription)\n // );\n // checkpoint('dev key role assigned');\n\n // if deploy api key doesn't exist go and create it (we need this for yml file).\n const deployKeyExisted = !!existingDeployKey;\n if (!existingDeployKey) {\n existingDeployKey = await this.CreateOrUpdateApiKey(\n existingDeployKey,\n deployKeyName,\n deployKeyDescription\n );\n }\n\n // check we have the deploy key so we can assign them to this values\n if (existingDeployKey) {\n // Add client id and secret to credentials\n this.deployCredentials.clientId = existingDeployKey?.id;\n this.deployCredentials.clientSecret = existingDeployKey?.sharedSecret;\n }\n\n // Ensure deploy API key is assigned to a role with the right permissions\n const deployRoleName = `Role for CI push of block '${blockId}'`;\n const deplyRoleDescription = `Created by the Contensis CLI for use in continuous integration`;\n let existingDeployRole = findByIdOrName(\n roles || [],\n deployRoleName,\n true\n ) as Role | undefined;\n existingDeployRole = await this.CreateOrUpdateRole(\n existingDeployRole,\n deployKeyRole(deployKeyName, deployRoleName, deplyRoleDescription)\n );\n\n checkpoint('deploy key role assigned');\n log.success(\n messages.devinit.createDeployKey(deployRoleName, deployKeyExisted)\n );\n checkpoint('api keys done');\n }\n\n const envFilePath = `${projectHome}/.env`;\n const existingEnvFile = readFile(envFilePath);\n const existingEnvFileArray = (existingEnvFile || '')\n .split('\\n')\n .filter(l => !!l);\n\n // Update or create a file called .env in project home\n const envContentsToAdd: EnvContentsToAdd = {\n ALIAS: currentEnv,\n PROJECT_API_ID: currentProject,\n BLOCK_ID: blockId,\n };\n if (accessToken) envContentsToAdd['ACCESS_TOKEN'] = accessToken;\n // add client id and secret to the env file\n if (loc === 'env') {\n envContentsToAdd['CONTENSIS_CLIENT_ID'] =\n existingDevKey?.id || messages.devinit.dryRunKeyMessage(dryRun);\n envContentsToAdd['CONTENSIS_CLIENT_SECRET'] =\n existingDevKey?.sharedSecret ||\n messages.devinit.dryRunKeyMessage(dryRun);\n }\n\n // if we have client id / secret in our env remove it\n const removeEnvItems = (items: string[]) => {\n const indexesToRemove = [];\n\n for (let i = 0; i < existingEnvFileArray.length; i++) {\n for (const item of items) {\n if (existingEnvFileArray[i].includes(item)) {\n indexesToRemove.push(i);\n break;\n }\n }\n }\n\n for (let i = indexesToRemove.length - 1; i >= 0; i--) {\n existingEnvFileArray.splice(indexesToRemove[i], 1);\n }\n };\n\n // remove client id and secret from env file\n if (loc === 'git') {\n removeEnvItems(['CONTENSIS_CLIENT_ID', 'CONTENSIS_CLIENT_SECRET']);\n }\n\n const envFileLines = mergeDotEnvFileContents(\n existingEnvFileArray,\n envContentsToAdd\n );\n const newEnvFileContent = envFileLines.join('\\n');\n const envDiff = diffFileContent(existingEnvFile || '', newEnvFileContent);\n\n if (dryRun) {\n if (envDiff) {\n log.info(`Updating .env file ${winSlash(envFilePath)}:\\n${envDiff}`);\n log.raw('');\n }\n checkpoint('skip .env file update (dry-run)');\n } else {\n if (envDiff) log.info(`Updating .env file ${winSlash(envFilePath)}`);\n writeFile(envFilePath, envFileLines.join('\\n'));\n checkpoint('.env file updated');\n log.success(messages.devinit.writeEnvFile());\n // log.help(messages.devinit.useEnvFileTip());\n }\n\n // Update git ignore\n if (dryRun) {\n checkpoint('skip .gitignore file update (dry-run)');\n } else {\n mergeContentsToAddWithGitignore(`${projectHome}/.gitignore`, ['.env']);\n log.raw('');\n }\n\n // Update CI Workflow\n const mappedWorkflow = await mapCIWorkflowContent(this, loc);\n\n // Update CI file -- different for GH/GL\n if (mappedWorkflow?.diff) {\n log.info(\n `Updating ${winSlash(ciFileName)} file:\\n${mappedWorkflow.diff}`\n );\n log.raw('');\n }\n if (dryRun) {\n checkpoint('skip CI file update (dry-run)');\n //log.object(ciFileLines);\n } else {\n if (mappedWorkflow?.newWorkflow) {\n if (mappedWorkflow?.diff) {\n writeFile(git.ciFilePath, mappedWorkflow.newWorkflow);\n log.success(messages.devinit.writeCiFile(`./${ciFileName}`));\n log.info(\n messages.devinit.ciBlockTip(blockId, currentEnv, currentProject)\n );\n } else {\n log.info(messages.devinit.ciFileNoChanges(`./${ciFileName}`));\n }\n log.raw('');\n checkpoint('CI file updated');\n }\n }\n\n if (loc === 'git') {\n // Echo Deployment API key to console, ask user to add secrets to repo\n log.warning(messages.devinit.addGitSecretsIntro());\n log.help(\n messages.devinit.addGitSecretsHelp(\n git,\n existingDeployKey?.id || messages.devinit.dryRunKeyMessage(dryRun),\n existingDeployKey?.sharedSecret ||\n messages.devinit.dryRunKeyMessage(dryRun)\n )\n );\n }\n\n if (dryRun) {\n log.success(messages.devinit.dryRun());\n log.help(messages.devinit.noChanges());\n } else {\n log.success(messages.devinit.success());\n log.help(messages.devinit.startProjectTip());\n // open the cms link -- if no classic token just return the cms url\n\n // go and fetch the classic token from auth service\n const classicToken = await this.auth?.ClassicToken();\n log.help(\n ansiEscapes.link(\n `Open Contensis`,\n `${this.urls?.cms}${\n classicToken ? `?SecurityToken=${classicToken}` : ''\n }`\n )\n );\n }\n }\n };\n\n ExecRequestHandler = async (\n blockId: string[],\n overrideArgs: string[] = [],\n version?: string\n ) => {\n const { debug, log, messages } = this;\n\n const spinner = !debug\n ? createSpinner(messages.devrequests.launch())\n : log.info(messages.devrequests.launch());\n\n // Ensure request handler is available to use\n const requestHandler = await createRequestHandler(version);\n\n // Generate args for request handler using CLI methods\n const args = new RequestHandlerArgs(this);\n spinner?.start();\n await args.Create();\n spinner?.success();\n\n // Prompt block id and dev uri to run locally (if not supplied)\n const blockIdChoices = args.siteConfig?.blocks.map(block => block.id) || [];\n blockIdChoices.push('none');\n const defaultDeveloperUri = 'http://localhost:3000';\n\n const { overrideBlockId, overrideUri } = blockId.length\n ? {\n overrideBlockId: blockId[0],\n overrideUri: blockId?.[1] || defaultDeveloperUri,\n }\n : await inquirer.prompt([\n {\n type: 'list',\n prefix: '\uD83E\uDDF1',\n message: messages.devrequests.overrideBlock(),\n name: 'overrideBlockId',\n choices: blockIdChoices,\n },\n {\n type: 'input',\n prefix: '\uD83D\uDD17',\n message: messages.devrequests.overrideUri(),\n name: 'overrideUri',\n default: defaultDeveloperUri,\n },\n ]);\n\n args.overrideBlock(overrideBlockId, overrideUri);\n\n // Launch request handler\n await requestHandler(args.getArgs(overrideArgs));\n };\n}\nexport const devCommand = (\n commandArgs: string[],\n outputOpts: OutputOptionsConstructorArg,\n contensisOpts: Partial<MigrateRequest> = {}\n) => {\n return new ContensisDev(['', '', ...commandArgs], outputOpts, contensisOpts);\n};\n\nexport default ContensisDev;\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAAwB;AACxB,yBAAe;AACf,sBAAqB;AACrB,yBAA8B;AAK9B,kCAA0B;AAC1B,mCAAqC;AAGrC,mCAAqC;AACrC,iDAA+B;AAC/B,wCAA8B;AAC9B,2BAAoC;AACpC,kBAAgC;AAChC,oBAAwC;AACxC,kBAA+B;AAC/B,iBAA0B;AAC1B,kBAA8B;AAC9B,gBAAyB;AACzB,uBAAgD;AAEhD,MAAM,qBAAqB,4BAAAA,QAAc;AAAA,EACvC;AAAA,EACA;AAAA,EAEA,oBAAoB;AAAA,IAClB,UAAU;AAAA,IACV,cAAc;AAAA,EAChB;AAAA,EAEA,YACE,MACA,YACA,gBAAyC,CAAC,GAC1C;AACA,UAAM,MAAM,YAAY,aAAa;AAAA,EACvC;AAAA,EAEA,kBAAkB,OAAO,aAAqB,SAAc;AAzC9D;AA2CI,UAAM,MAAO,KAAK,MAAM,IAAI,qBAAU,WAAW;AAEjD,UAAM,SAAS,IAAI,YAAY;AAC/B,QAAI,CAAC,OAAQ;AAEb,UAAM,EAAE,SAAS,MAAM,IAAI,QAAQ,CAAC;AACpC,UAAM,EAAE,YAAY,gBAAgB,KAAK,SAAS,IAAI;AACtD,UAAM,YAAY,MAAM,KAAK,iBAAiB;AAE9C,QAAI,WAAW;AAEb,YAAM,kBAAkB,CAACC,aAAoB;AAC3C,cAAM,UAAU;AAChB,YAAIA,SAAQ,UAAU,KAAKA,SAAQ,UAAU,KAAK;AAChD,iBAAO,QAAQ,KAAKA,QAAO;AAAA,QAC7B,MAAO,QAAO;AAAA,MAChB;AACA,YAAM,EAAE,QAAQ,IAAI,MAAM,gBAAAC,QAAS,OAAO;AAAA,QACxC,MAAM;AAAA,QACN,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,SAAS,SAAS,QAAQ;AAAA,QAC1B,UAAU;AAAA,QACV,SAAS,IAAI;AAAA,MACf,CAAC;AAED,WAAK,UAAU,QAAQ,YAAY;AACnC,UAAI,QAAQ,mBAAmB,QAAQ,YAAY,CAAC,EAAE;AAGtD,YAAM,CAAC,SAAS,OAAO,IAAI,MAAM,UAAU,QAAQ,QAAQ;AAC3D,UAAI,SAAS;AACX,YAAI,MAAM,SAAS,KAAK,OAAO,UAAU,CAAC;AAC1C,YAAI,UAAM,2BAAc,OAAO,CAAC;AAChC;AAAA,MACF;AACA,YAAM,eAAe,CAAC,YACpB,mCAAS;AAAA,QACP,OAAK,EAAE,KAAK,KAAK,EAAE,YAAY,OAAM,mCAAS,OAAO;AAAA;AAIzD,YAAM,gBAAgB,IAAI;AAG1B,UAAI,aAAa,IAAI;AAErB,YAAM,aAAa,SAAS,cAAc,IAAI,OAAO,GAAG,YAAY;AAEpE,YAAM,aAAa,GAAG,UAAU;AAChC,YAAM,oBAAoB;AAC1B,UAAI,iBAAiB,aAAa,UAAU;AAE5C,YAAM,gBAAgB,GAAG,UAAU;AACnC,YAAM,uBAAuB;AAE7B,UAAI,oBAAoB,aAAa,aAAa;AAGlD,YAAM,SAAS,CAAC;AAGhB,UAAI,IAAI,EAAE;AACV,UAAI,QAAQ,SAAS,QAAQ,MAAM,CAAC;AACpC,UAAI;AAAA,QACF,IAAI;AAAA,UACF,SAAS,QAAQ;AAAA,YACf,IAAI;AAAA,YACJ;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,MACF;AACA,UAAI;AAAA,QACF,IAAI;AAAA,UACF,SAAS,QAAQ,eAAe,YAAY,CAAC,CAAC,cAAc;AAAA,QAC9D;AAAA,MACF;AACA,UAAI;AAAA,QACF,IAAI;AAAA,UACF,SAAS,QAAQ,cAAc,eAAe,CAAC,CAAC,iBAAiB;AAAA,QACnE;AAAA,MACF;AACA,UAAI,IAAI,EAAE;AAEV,UAAI,MAAM,QAAQ,aAAa,KAAK,cAAc,SAAS,GAAG;AAE5D,SAAC,EAAE,WAAW,IAAI,MAAM,gBAAAA,QAAS,OAAO;AAAA,UACtC;AAAA,YACE,MAAM;AAAA,YACN,QAAQ;AAAA,YACR,SAAS,SAAS,QAAQ,kBAAkB;AAAA,YAC5C,MAAM;AAAA,YACN,SAAS;AAAA,YACT,SAAS,cAAc,KAAK,OAAK,EAAE,SAAS,QAAQ,CAAC;AAAA,UACvD;AAAA,QACF,CAAC;AACD,YAAI,IAAI,EAAE;AACV,YAAI,aAAa;AAAA,MACnB;AAEA,UAAI,IAAI,IAAI,SAAS,SAAS,QAAQ,UAAU,UAAU,CAAC,CAAC;AAG5D,YAAM,EAAE,IAAI,IAAI,MAAM,gBAAAA,QAAS,OAAO;AAAA,QACpC,MAAM;AAAA,QACN,MAAM;AAAA,QACN,QAAQ;AAAA;AAAA,QAER,SAAS,SAAS,QAAQ,sBAAsB;AAAA,QAChD,SAAS;AAAA,UACP;AAAA,YACE,MAAM,SAAS,QAAQ,mBAAmB,GAAG;AAAA,YAC7C,OAAO;AAAA,UACT;AAAA,UACA;AAAA,YACE,MAAM,SAAS,QAAQ,mBAAmB;AAAA,YAC1C,OAAO;AAAA,UACT;AAAA,QACF;AAAA,MACF,CAAC;AAED,UAAI,IAAI,EAAE;AACV,UAAI,KAAK,SAAS,QAAQ,QAAQ,KAAK,GAAG,CAAC;AAE3C,UAAI,CAAC,QAAQ;AAEX,cAAM,EAAE,QAAQ,IAAI,MAAM,gBAAAA,QAAS,OAAO;AAAA,UACxC;AAAA,YACE,MAAM;AAAA,YACN,SAAS,SAAS,QAAQ,QAAQ;AAAA,YAClC,MAAM;AAAA,YACN,SAAS;AAAA,UACX;AAAA,QACF,CAAC;AACD,YAAI,IAAI,EAAE;AACV,YAAI,CAAC,QAAS;AAAA,MAChB;AAGA,UAAI,cAAkC;AAEtC,YAAM,cAAU,kCAAc,SAAS,QAAQ,iBAAiB,CAAC;AACjE,cAAQ,MAAM;AAEd,YAAM,QAAQ,MAAM,KAAK,kBAAkB;AAE3C,UAAI,OAAO;AACT,sBAAc;AACd,gBAAQ,QAAQ,EAAE,MAAM,SAAS,QAAQ,mBAAmB,KAAK,EAAE,CAAC;AACpE,YAAI,IAAI,EAAE;AAAA,MACZ,OAAO;AACL,gBAAQ,MAAM;AACd,aAAK,IAAI,MAAM,SAAS,QAAQ,kBAAkB,CAAC;AACnD;AAAA,MACF;AAGA,YAAM,aAAa,CAAC,OAAe;AACjC,YAAI,OAAO,OAAQ,OAAM,OAAO,CAAC;AAAA,YAC5B,KAAI,MAAM,GAAG,EAAE,eAAe;AACnC,eAAO;AAAA,MACT;AAGA,YAAM,CAAC,aAAa,KAAK,IAAI,UAAM,mBAAAC,SAAG,UAAU,MAAM,SAAS,CAAC;AAChE,UAAI,CAAC,SAAS,YAAa,QAAO,KAAK,WAAW;AAClD,iBAAW,WAAW,+BAAO,MAAM,QAAQ;AAE3C,UAAI,QAAQ;AACV,mBAAW,iCAAiC;AAAA,MAC9C,OAAO;AAEL,cAAM,gBAAgB,CAAC,CAAC;AACxB,YAAI,CAAC,gBAAgB;AACnB,2BAAiB,MAAM,KAAK;AAAA,YAC1B;AAAA,YACA;AAAA,YACA;AAAA,UACF;AACA,cAAI,QAAQ,SAAS,QAAQ,aAAa,YAAY,aAAa,CAAC;AAAA,QACtE;AAaA,cAAM,mBAAmB,CAAC,CAAC;AAC3B,YAAI,CAAC,mBAAmB;AACtB,8BAAoB,MAAM,KAAK;AAAA,YAC7B;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAGA,YAAI,mBAAmB;AAErB,eAAK,kBAAkB,WAAW,uDAAmB;AACrD,eAAK,kBAAkB,eAAe,uDAAmB;AAAA,QAC3D;AAGA,cAAM,iBAAiB,8BAA8B,OAAO;AAC5D,cAAM,uBAAuB;AAC7B,YAAI,yBAAqB;AAAA,UACvB,SAAS,CAAC;AAAA,UACV;AAAA,UACA;AAAA,QACF;AACA,6BAAqB,MAAM,KAAK;AAAA,UAC9B;AAAA,cACA,iDAAc,eAAe,gBAAgB,oBAAoB;AAAA,QACnE;AAEA,mBAAW,0BAA0B;AACrC,YAAI;AAAA,UACF,SAAS,QAAQ,gBAAgB,gBAAgB,gBAAgB;AAAA,QACnE;AACA,mBAAW,eAAe;AAAA,MAC5B;AAEA,YAAM,cAAc,GAAG,WAAW;AAClC,YAAM,sBAAkB,+BAAS,WAAW;AAC5C,YAAM,wBAAwB,mBAAmB,IAC9C,MAAM,IAAI,EACV,OAAO,OAAK,CAAC,CAAC,CAAC;AAGlB,YAAM,mBAAqC;AAAA,QACzC,OAAO;AAAA,QACP,gBAAgB;AAAA,QAChB,UAAU;AAAA,MACZ;AACA,UAAI,YAAa,kBAAiB,cAAc,IAAI;AAEpD,UAAI,QAAQ,OAAO;AACjB,yBAAiB,qBAAqB,KACpC,iDAAgB,OAAM,SAAS,QAAQ,iBAAiB,MAAM;AAChE,yBAAiB,yBAAyB,KACxC,iDAAgB,iBAChB,SAAS,QAAQ,iBAAiB,MAAM;AAAA,MAC5C;AAGA,YAAM,iBAAiB,CAAC,UAAoB;AAC1C,cAAM,kBAAkB,CAAC;AAEzB,iBAAS,IAAI,GAAG,IAAI,qBAAqB,QAAQ,KAAK;AACpD,qBAAW,QAAQ,OAAO;AACxB,gBAAI,qBAAqB,CAAC,EAAE,SAAS,IAAI,GAAG;AAC1C,8BAAgB,KAAK,CAAC;AACtB;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAEA,iBAAS,IAAI,gBAAgB,SAAS,GAAG,KAAK,GAAG,KAAK;AACpD,+BAAqB,OAAO,gBAAgB,CAAC,GAAG,CAAC;AAAA,QACnD;AAAA,MACF;AAGA,UAAI,QAAQ,OAAO;AACjB,uBAAe,CAAC,uBAAuB,yBAAyB,CAAC;AAAA,MACnE;AAEA,YAAM,mBAAe;AAAA,QACnB;AAAA,QACA;AAAA,MACF;AACA,YAAM,oBAAoB,aAAa,KAAK,IAAI;AAChD,YAAM,cAAU,6BAAgB,mBAAmB,IAAI,iBAAiB;AAExE,UAAI,QAAQ;AACV,YAAI,SAAS;AACX,cAAI,KAAK,0BAAsB,oBAAS,WAAW,CAAC;AAAA,EAAM,OAAO,EAAE;AACnE,cAAI,IAAI,EAAE;AAAA,QACZ;AACA,mBAAW,iCAAiC;AAAA,MAC9C,OAAO;AACL,YAAI,QAAS,KAAI,KAAK,0BAAsB,oBAAS,WAAW,CAAC,EAAE;AACnE,4CAAU,aAAa,aAAa,KAAK,IAAI,CAAC;AAC9C,mBAAW,mBAAmB;AAC9B,YAAI,QAAQ,SAAS,QAAQ,aAAa,CAAC;AAAA,MAE7C;AAGA,UAAI,QAAQ;AACV,mBAAW,uCAAuC;AAAA,MACpD,OAAO;AACL,8DAAgC,GAAG,WAAW,eAAe,CAAC,MAAM,CAAC;AACrE,YAAI,IAAI,EAAE;AAAA,MACZ;AAGA,YAAM,iBAAiB,UAAM,mDAAqB,MAAM,GAAG;AAG3D,UAAI,iDAAgB,MAAM;AACxB,YAAI;AAAA,UACF,gBAAY,oBAAS,UAAU,CAAC;AAAA,EAAW,eAAe,IAAI;AAAA,QAChE;AACA,YAAI,IAAI,EAAE;AAAA,MACZ;AACA,UAAI,QAAQ;AACV,mBAAW,+BAA+B;AAAA,MAE5C,OAAO;AACL,YAAI,iDAAgB,aAAa;AAC/B,cAAI,iDAAgB,MAAM;AACxB,gDAAU,IAAI,YAAY,eAAe,WAAW;AACpD,gBAAI,QAAQ,SAAS,QAAQ,YAAY,KAAK,UAAU,EAAE,CAAC;AAC3D,gBAAI;AAAA,cACF,SAAS,QAAQ,WAAW,SAAS,YAAY,cAAc;AAAA,YACjE;AAAA,UACF,OAAO;AACL,gBAAI,KAAK,SAAS,QAAQ,gBAAgB,KAAK,UAAU,EAAE,CAAC;AAAA,UAC9D;AACA,cAAI,IAAI,EAAE;AACV,qBAAW,iBAAiB;AAAA,QAC9B;AAAA,MACF;AAEA,UAAI,QAAQ,OAAO;AAEjB,YAAI,QAAQ,SAAS,QAAQ,mBAAmB,CAAC;AACjD,YAAI;AAAA,UACF,SAAS,QAAQ;AAAA,YACf;AAAA,aACA,uDAAmB,OAAM,SAAS,QAAQ,iBAAiB,MAAM;AAAA,aACjE,uDAAmB,iBACjB,SAAS,QAAQ,iBAAiB,MAAM;AAAA,UAC5C;AAAA,QACF;AAAA,MACF;AAEA,UAAI,QAAQ;AACV,YAAI,QAAQ,SAAS,QAAQ,OAAO,CAAC;AACrC,YAAI,KAAK,SAAS,QAAQ,UAAU,CAAC;AAAA,MACvC,OAAO;AACL,YAAI,QAAQ,SAAS,QAAQ,QAAQ,CAAC;AACtC,YAAI,KAAK,SAAS,QAAQ,gBAAgB,CAAC;AAI3C,cAAM,eAAe,QAAM,UAAK,SAAL,mBAAW;AACtC,YAAI;AAAA,UACF,oBAAAC,QAAY;AAAA,YACV;AAAA,YACA,IAAG,UAAK,SAAL,mBAAW,GAAG,GACf,eAAe,kBAAkB,YAAY,KAAK,EACpD;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,qBAAqB,OACnB,SACA,eAAyB,CAAC,GAC1B,YACG;AAjaP;AAkaI,UAAM,EAAE,OAAO,KAAK,SAAS,IAAI;AAEjC,UAAM,UAAU,CAAC,YACb,kCAAc,SAAS,YAAY,OAAO,CAAC,IAC3C,IAAI,KAAK,SAAS,YAAY,OAAO,CAAC;AAG1C,UAAM,iBAAiB,UAAM,mDAAqB,OAAO;AAGzD,UAAM,OAAO,IAAI,2CAAAC,QAAmB,IAAI;AACxC,uCAAS;AACT,UAAM,KAAK,OAAO;AAClB,uCAAS;AAGT,UAAM,mBAAiB,UAAK,eAAL,mBAAiB,OAAO,IAAI,WAAS,MAAM,QAAO,CAAC;AAC1E,mBAAe,KAAK,MAAM;AAC1B,UAAM,sBAAsB;AAE5B,UAAM,EAAE,iBAAiB,YAAY,IAAI,QAAQ,SAC7C;AAAA,MACE,iBAAiB,QAAQ,CAAC;AAAA,MAC1B,cAAa,mCAAU,OAAM;AAAA,IAC/B,IACA,MAAM,gBAAAH,QAAS,OAAO;AAAA,MACpB;AAAA,QACE,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,SAAS,SAAS,YAAY,cAAc;AAAA,QAC5C,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,SAAS,SAAS,YAAY,YAAY;AAAA,QAC1C,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF,CAAC;AAEL,SAAK,cAAc,iBAAiB,WAAW;AAG/C,UAAM,eAAe,KAAK,QAAQ,YAAY,CAAC;AAAA,EACjD;AACF;AACO,MAAM,aAAa,CACxB,aACA,YACA,gBAAyC,CAAC,MACvC;AACH,SAAO,IAAI,aAAa,CAAC,IAAI,IAAI,GAAG,WAAW,GAAG,YAAY,aAAa;AAC7E;AAEA,IAAO,8BAAQ;",
|
|
6
|
-
"names": ["ContensisRole", "blockId", "inquirer", "to", "ansiEscapes", "RequestHandlerArgs"]
|
|
7
|
-
}
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to2, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to2, key) && key !== except)
|
|
16
|
-
__defProp(to2, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to2;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var ContensisRoleService_exports = {};
|
|
30
|
-
__export(ContensisRoleService_exports, {
|
|
31
|
-
default: () => ContensisRoleService_default
|
|
32
|
-
});
|
|
33
|
-
module.exports = __toCommonJS(ContensisRoleService_exports);
|
|
34
|
-
var import_await_to_js = __toESM(require("await-to-js"));
|
|
35
|
-
var import_ContensisCliService = __toESM(require("./ContensisCliService"));
|
|
36
|
-
var import_logger = require("../util/logger");
|
|
37
|
-
class ContensisRole extends import_ContensisCliService.default {
|
|
38
|
-
constructor(args, outputOpts, contensisOpts = {}) {
|
|
39
|
-
super(args, outputOpts, contensisOpts);
|
|
40
|
-
}
|
|
41
|
-
GetDeliveryApiKey = async () => {
|
|
42
|
-
const { contensis, currentEnv } = this;
|
|
43
|
-
const CMS = `https://cms-${currentEnv}.cloud.contensis.com`;
|
|
44
|
-
const API = "api/contensis-cli/settings/defaultDeliveryApiAccessToken";
|
|
45
|
-
if (contensis) {
|
|
46
|
-
const [error, bearerToken] = await (0, import_await_to_js.default)(
|
|
47
|
-
contensis.content.sourceRepo.repo.BearerToken()
|
|
48
|
-
);
|
|
49
|
-
if (error) import_logger.Logger.error(error.message);
|
|
50
|
-
const token = fetch(`${CMS}/${API}`, {
|
|
51
|
-
method: "GET",
|
|
52
|
-
headers: {
|
|
53
|
-
"Content-Type": "application/json",
|
|
54
|
-
Authorization: `Bearer ${bearerToken}`
|
|
55
|
-
}
|
|
56
|
-
}).then((repsonse) => repsonse.json()).then(({ value }) => {
|
|
57
|
-
if (value) return value;
|
|
58
|
-
}).catch((error2) => {
|
|
59
|
-
throw new Error(error2);
|
|
60
|
-
});
|
|
61
|
-
return token;
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
CreateOrUpdateApiKey = async (existingKey, name, description) => {
|
|
65
|
-
const { contensis, currentEnv, messages } = this;
|
|
66
|
-
if (!contensis) throw new Error("shouldnt be here");
|
|
67
|
-
if (existingKey) {
|
|
68
|
-
const [err, key] = await contensis.apiKeys.UpdateKey(existingKey.id, {
|
|
69
|
-
name,
|
|
70
|
-
description
|
|
71
|
-
});
|
|
72
|
-
if (err)
|
|
73
|
-
throw new Error(messages.keys.failedUpdate(currentEnv, name), {
|
|
74
|
-
cause: err
|
|
75
|
-
});
|
|
76
|
-
return key;
|
|
77
|
-
} else {
|
|
78
|
-
const [err, key] = await contensis.apiKeys.CreateKey(name, description);
|
|
79
|
-
if (err)
|
|
80
|
-
throw new Error(messages.keys.failedCreate(currentEnv, name), {
|
|
81
|
-
cause: err
|
|
82
|
-
});
|
|
83
|
-
return key;
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
CreateOrUpdateRole = async (existingRole, role) => {
|
|
87
|
-
const { contensis, currentEnv, messages } = this;
|
|
88
|
-
if (!contensis) throw new Error("shouldnt be here");
|
|
89
|
-
if (existingRole) {
|
|
90
|
-
const [err, updated] = await contensis.roles.UpdateRole(existingRole.id, {
|
|
91
|
-
...existingRole,
|
|
92
|
-
...role
|
|
93
|
-
});
|
|
94
|
-
if (err)
|
|
95
|
-
throw new Error(messages.roles.failedSet(currentEnv, role.name), {
|
|
96
|
-
cause: err
|
|
97
|
-
});
|
|
98
|
-
return updated;
|
|
99
|
-
} else {
|
|
100
|
-
const [err, created] = await contensis.roles.CreateRole(
|
|
101
|
-
role
|
|
102
|
-
);
|
|
103
|
-
if (err)
|
|
104
|
-
throw new Error(messages.roles.failedCreate(currentEnv, role.name), {
|
|
105
|
-
cause: err
|
|
106
|
-
});
|
|
107
|
-
return created;
|
|
108
|
-
}
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
var ContensisRoleService_default = ContensisRole;
|
|
112
|
-
//# sourceMappingURL=ContensisRoleService.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/services/ContensisRoleService.ts"],
|
|
4
|
-
"sourcesContent": ["import { Role } from 'contensis-management-api/lib/models';\nimport { ApiKey, MigrateRequest } from 'migratortron';\nimport to from 'await-to-js';\nimport ContensisCli from './ContensisCliService';\nimport { OutputOptionsConstructorArg } from '~/models/CliService';\nimport { Logger } from '~/util/logger';\n\nclass ContensisRole extends ContensisCli {\n constructor(\n args: string[],\n outputOpts?: OutputOptionsConstructorArg,\n contensisOpts: Partial<MigrateRequest> = {}\n ) {\n super(args, outputOpts, contensisOpts);\n }\n\n GetDeliveryApiKey = async () => {\n const { contensis, currentEnv } = this;\n\n const CMS = `https://cms-${currentEnv}.cloud.contensis.com`;\n const API = 'api/contensis-cli/settings/defaultDeliveryApiAccessToken';\n\n if (contensis) {\n const [error, bearerToken] = await to(\n contensis.content.sourceRepo.repo.BearerToken()\n );\n if (error) Logger.error(error.message);\n\n const token = fetch(`${CMS}/${API}`, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${bearerToken}`,\n },\n })\n .then(repsonse => repsonse.json())\n .then(({ value }) => {\n if (value) return value;\n })\n .catch(error => {\n throw new Error(error);\n });\n\n return token;\n }\n };\n\n CreateOrUpdateApiKey = async (\n existingKey: ApiKey | undefined,\n name: string,\n description: string\n ) => {\n const { contensis, currentEnv, messages } = this;\n if (!contensis) throw new Error('shouldnt be here');\n if (existingKey) {\n const [err, key] = await contensis.apiKeys.UpdateKey(existingKey.id, {\n name,\n description,\n });\n\n if (err)\n throw new Error(messages.keys.failedUpdate(currentEnv, name), {\n cause: err,\n });\n return key;\n } else {\n const [err, key] = await contensis.apiKeys.CreateKey(name, description);\n if (err)\n throw new Error(messages.keys.failedCreate(currentEnv, name), {\n cause: err,\n });\n\n return key;\n }\n };\n\n CreateOrUpdateRole = async (\n existingRole: Role | undefined,\n role: Partial<Role>\n ) => {\n const { contensis, currentEnv, messages } = this;\n if (!contensis) throw new Error('shouldnt be here');\n\n if (existingRole) {\n // TODO: check is update needed?\n const [err, updated] = await contensis.roles.UpdateRole(existingRole.id, {\n ...existingRole,\n ...role,\n });\n if (err)\n throw new Error(messages.roles.failedSet(currentEnv, role.name), {\n cause: err,\n });\n return updated;\n } else {\n const [err, created] = await contensis.roles.CreateRole(\n role as Omit<Role, 'id'>\n );\n if (err)\n throw new Error(messages.roles.failedCreate(currentEnv, role.name), {\n cause: err,\n });\n\n return created;\n }\n };\n}\nexport default ContensisRole;\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,yBAAe;AACf,iCAAyB;AAEzB,oBAAuB;AAEvB,MAAM,sBAAsB,2BAAAA,QAAa;AAAA,EACvC,YACE,MACA,YACA,gBAAyC,CAAC,GAC1C;AACA,UAAM,MAAM,YAAY,aAAa;AAAA,EACvC;AAAA,EAEA,oBAAoB,YAAY;AAC9B,UAAM,EAAE,WAAW,WAAW,IAAI;AAElC,UAAM,MAAM,eAAe,UAAU;AACrC,UAAM,MAAM;AAEZ,QAAI,WAAW;AACb,YAAM,CAAC,OAAO,WAAW,IAAI,UAAM,mBAAAC;AAAA,QACjC,UAAU,QAAQ,WAAW,KAAK,YAAY;AAAA,MAChD;AACA,UAAI,MAAO,sBAAO,MAAM,MAAM,OAAO;AAErC,YAAM,QAAQ,MAAM,GAAG,GAAG,IAAI,GAAG,IAAI;AAAA,QACnC,QAAQ;AAAA,QACR,SAAS;AAAA,UACP,gBAAgB;AAAA,UAChB,eAAe,UAAU,WAAW;AAAA,QACtC;AAAA,MACF,CAAC,EACE,KAAK,cAAY,SAAS,KAAK,CAAC,EAChC,KAAK,CAAC,EAAE,MAAM,MAAM;AACnB,YAAI,MAAO,QAAO;AAAA,MACpB,CAAC,EACA,MAAM,CAAAC,WAAS;AACd,cAAM,IAAI,MAAMA,MAAK;AAAA,MACvB,CAAC;AAEH,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,uBAAuB,OACrB,aACA,MACA,gBACG;AACH,UAAM,EAAE,WAAW,YAAY,SAAS,IAAI;AAC5C,QAAI,CAAC,UAAW,OAAM,IAAI,MAAM,kBAAkB;AAClD,QAAI,aAAa;AACf,YAAM,CAAC,KAAK,GAAG,IAAI,MAAM,UAAU,QAAQ,UAAU,YAAY,IAAI;AAAA,QACnE;AAAA,QACA;AAAA,MACF,CAAC;AAED,UAAI;AACF,cAAM,IAAI,MAAM,SAAS,KAAK,aAAa,YAAY,IAAI,GAAG;AAAA,UAC5D,OAAO;AAAA,QACT,CAAC;AACH,aAAO;AAAA,IACT,OAAO;AACL,YAAM,CAAC,KAAK,GAAG,IAAI,MAAM,UAAU,QAAQ,UAAU,MAAM,WAAW;AACtE,UAAI;AACF,cAAM,IAAI,MAAM,SAAS,KAAK,aAAa,YAAY,IAAI,GAAG;AAAA,UAC5D,OAAO;AAAA,QACT,CAAC;AAEH,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,qBAAqB,OACnB,cACA,SACG;AACH,UAAM,EAAE,WAAW,YAAY,SAAS,IAAI;AAC5C,QAAI,CAAC,UAAW,OAAM,IAAI,MAAM,kBAAkB;AAElD,QAAI,cAAc;AAEhB,YAAM,CAAC,KAAK,OAAO,IAAI,MAAM,UAAU,MAAM,WAAW,aAAa,IAAI;AAAA,QACvE,GAAG;AAAA,QACH,GAAG;AAAA,MACL,CAAC;AACD,UAAI;AACF,cAAM,IAAI,MAAM,SAAS,MAAM,UAAU,YAAY,KAAK,IAAI,GAAG;AAAA,UAC/D,OAAO;AAAA,QACT,CAAC;AACH,aAAO;AAAA,IACT,OAAO;AACL,YAAM,CAAC,KAAK,OAAO,IAAI,MAAM,UAAU,MAAM;AAAA,QAC3C;AAAA,MACF;AACA,UAAI;AACF,cAAM,IAAI,MAAM,SAAS,MAAM,aAAa,YAAY,KAAK,IAAI,GAAG;AAAA,UAClE,OAAO;AAAA,QACT,CAAC;AAEH,aAAO;AAAA,IACT;AAAA,EACF;AACF;AACA,IAAO,+BAAQ;",
|
|
6
|
-
"names": ["ContensisCli", "to", "error"]
|
|
7
|
-
}
|