@celonis/content-cli 0.2.10 → 0.3.0
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/api/compute-pool-api.js +35 -0
- package/api/node-api.js +35 -0
- package/api/package-api.js +48 -0
- package/api/package-dependencies-api.js +35 -0
- package/commands/package.command.js +9 -3
- package/content/factory/package-manager.factory.js +3 -7
- package/content/manager/package.manager.js +4 -18
- package/content-cli-list.js +19 -5
- package/interfaces/batch-export-node-transport.js +12 -0
- package/interfaces/package-manager.interfaces.js +12 -0
- package/interfaces/save-content-node.interface.js +0 -3
- package/lib/api/compute-pool-api.d.ts +7 -0
- package/lib/api/node-api.d.ts +7 -0
- package/lib/api/package-api.d.ts +9 -0
- package/lib/api/package-dependencies-api.d.ts +7 -0
- package/lib/commands/package.command.d.ts +1 -1
- package/lib/content/factory/package-manager.factory.d.ts +1 -2
- package/lib/content/manager/package.manager.d.ts +0 -3
- package/lib/content-cli-list.d.ts +6 -0
- package/lib/interfaces/batch-export-node-transport.d.ts +9 -0
- package/lib/interfaces/manager-config.interface.d.ts +1 -0
- package/lib/interfaces/package-manager.interfaces.d.ts +59 -0
- package/lib/interfaces/save-content-node.interface.d.ts +1 -3
- package/lib/services/context.service.d.ts +13 -0
- package/lib/services/file-service.d.ts +6 -0
- package/lib/services/http-client-service.v2.d.ts +11 -0
- package/lib/services/package-manager/datamodel-service.d.ts +7 -0
- package/lib/services/package-manager/package-service.d.ts +13 -0
- package/lib/services/package-manager/variable-service.d.ts +6 -0
- package/lib/services/profile.service.d.ts +1 -0
- package/package.json +1 -1
- package/services/context.service.js +39 -0
- package/services/file-service.js +27 -0
- package/services/http-client-service.v2.js +84 -0
- package/services/package-manager/datamodel-service.js +38 -0
- package/services/package-manager/package-service.js +106 -0
- package/services/package-manager/variable-service.js +35 -0
- package/services/profile.service.js +1 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
(function (factory) {
|
|
11
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
12
|
+
var v = factory(require, exports);
|
|
13
|
+
if (v !== undefined) module.exports = v;
|
|
14
|
+
}
|
|
15
|
+
else if (typeof define === "function" && define.amd) {
|
|
16
|
+
define(["require", "exports", "../services/http-client-service.v2", "../util/logger"], factory);
|
|
17
|
+
}
|
|
18
|
+
})(function (require, exports) {
|
|
19
|
+
"use strict";
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
const http_client_service_v2_1 = require("../services/http-client-service.v2");
|
|
22
|
+
const logger_1 = require("../util/logger");
|
|
23
|
+
class ComputePoolApi {
|
|
24
|
+
findAssignedDatamodels(packageKey) {
|
|
25
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
+
return http_client_service_v2_1.httpClientV2.get(`/package-manager/api/compute-pools/data-models/assigned?packageKey=${packageKey}`)
|
|
27
|
+
.catch(e => {
|
|
28
|
+
throw new logger_1.FatalError(`Problem getting datamodels of package: ${e}`);
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
ComputePoolApi.INSTANCE = new ComputePoolApi();
|
|
34
|
+
exports.computePoolApi = ComputePoolApi.INSTANCE;
|
|
35
|
+
});
|
package/api/node-api.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
(function (factory) {
|
|
11
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
12
|
+
var v = factory(require, exports);
|
|
13
|
+
if (v !== undefined) module.exports = v;
|
|
14
|
+
}
|
|
15
|
+
else if (typeof define === "function" && define.amd) {
|
|
16
|
+
define(["require", "exports", "../services/http-client-service.v2", "../util/logger"], factory);
|
|
17
|
+
}
|
|
18
|
+
})(function (require, exports) {
|
|
19
|
+
"use strict";
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
const http_client_service_v2_1 = require("../services/http-client-service.v2");
|
|
22
|
+
const logger_1 = require("../util/logger");
|
|
23
|
+
class NodeApi {
|
|
24
|
+
findAllNodesOfType(assetType) {
|
|
25
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
+
return http_client_service_v2_1.httpClientV2.get(`/package-manager/api/nodes?assetType=${assetType}`)
|
|
27
|
+
.catch(e => {
|
|
28
|
+
throw new logger_1.FatalError(`Problem getting nodes of type ${assetType}: ${e}`);
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
NodeApi.INSTANCE = new NodeApi();
|
|
34
|
+
exports.nodeApi = NodeApi.INSTANCE;
|
|
35
|
+
});
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
(function (factory) {
|
|
11
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
12
|
+
var v = factory(require, exports);
|
|
13
|
+
if (v !== undefined) module.exports = v;
|
|
14
|
+
}
|
|
15
|
+
else if (typeof define === "function" && define.amd) {
|
|
16
|
+
define(["require", "exports", "../services/http-client-service.v2", "../util/logger"], factory);
|
|
17
|
+
}
|
|
18
|
+
})(function (require, exports) {
|
|
19
|
+
"use strict";
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
const http_client_service_v2_1 = require("../services/http-client-service.v2");
|
|
22
|
+
const logger_1 = require("../util/logger");
|
|
23
|
+
class PackageApi {
|
|
24
|
+
findAllPackages() {
|
|
25
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
+
return http_client_service_v2_1.httpClientV2.get("/package-manager/api/packages").catch(e => {
|
|
27
|
+
throw new logger_1.FatalError(`Problem getting packages: ${e}`);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
findAllPackagesWithVariableAssignments() {
|
|
32
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
+
return http_client_service_v2_1.httpClientV2.get("/package-manager/api/packages/with-variable-assignments").catch(e => {
|
|
34
|
+
throw new logger_1.FatalError(`Problem getting variables of packages: : ${e}`);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
findLatestVersionById(nodeId) {
|
|
39
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
return http_client_service_v2_1.httpClientV2.get(`/package-manager/api/packages/${nodeId}/latest-version`).catch(e => {
|
|
41
|
+
throw new logger_1.FatalError(`Problem getting latest version of package: ${e}`);
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
PackageApi.INSTANCE = new PackageApi();
|
|
47
|
+
exports.packageApi = PackageApi.INSTANCE;
|
|
48
|
+
});
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
(function (factory) {
|
|
11
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
12
|
+
var v = factory(require, exports);
|
|
13
|
+
if (v !== undefined) module.exports = v;
|
|
14
|
+
}
|
|
15
|
+
else if (typeof define === "function" && define.amd) {
|
|
16
|
+
define(["require", "exports", "../services/http-client-service.v2", "../util/logger"], factory);
|
|
17
|
+
}
|
|
18
|
+
})(function (require, exports) {
|
|
19
|
+
"use strict";
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
const http_client_service_v2_1 = require("../services/http-client-service.v2");
|
|
22
|
+
const logger_1 = require("../util/logger");
|
|
23
|
+
class PackageDependenciesApi {
|
|
24
|
+
findDependenciesOfPackage(nodeId, draftId) {
|
|
25
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
+
return http_client_service_v2_1.httpClientV2.get(`/package-manager/api/package-dependencies/${nodeId}/by-root-draft-id/${draftId}`)
|
|
27
|
+
.catch(e => {
|
|
28
|
+
throw new logger_1.FatalError(`Problem getting dependencies of package: ${e}`);
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
PackageDependenciesApi.INSTANCE = new PackageDependenciesApi();
|
|
34
|
+
exports.packageDependenciesApi = PackageDependenciesApi.INSTANCE;
|
|
35
|
+
});
|
|
@@ -13,13 +13,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
13
13
|
if (v !== undefined) module.exports = v;
|
|
14
14
|
}
|
|
15
15
|
else if (typeof define === "function" && define.amd) {
|
|
16
|
-
define(["require", "exports", "../services/content.service", "../content/factory/package-manager.factory"], factory);
|
|
16
|
+
define(["require", "exports", "../services/content.service", "../content/factory/package-manager.factory", "../services/package-manager/package-service"], factory);
|
|
17
17
|
}
|
|
18
18
|
})(function (require, exports) {
|
|
19
19
|
"use strict";
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
21
|
const content_service_1 = require("../services/content.service");
|
|
22
22
|
const package_manager_factory_1 = require("../content/factory/package-manager.factory");
|
|
23
|
+
const package_service_1 = require("../services/package-manager/package-service");
|
|
23
24
|
class PackageCommand {
|
|
24
25
|
constructor() {
|
|
25
26
|
this.contentService = new content_service_1.ContentService();
|
|
@@ -40,9 +41,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
40
41
|
yield this.contentService.batchPush(profile, this.packageManagerFactory.createPushManagers(spaceKey));
|
|
41
42
|
});
|
|
42
43
|
}
|
|
43
|
-
listPackages(
|
|
44
|
+
listPackages(jsonResponse, includeDependencies) {
|
|
44
45
|
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
-
|
|
46
|
+
if (jsonResponse) {
|
|
47
|
+
yield package_service_1.packageService.findAndExportAllPackages(includeDependencies);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
yield package_service_1.packageService.listPackages();
|
|
51
|
+
}
|
|
46
52
|
});
|
|
47
53
|
}
|
|
48
54
|
}
|
|
@@ -15,13 +15,10 @@
|
|
|
15
15
|
const package_manager_1 = require("../manager/package.manager");
|
|
16
16
|
class PackageManagerFactory {
|
|
17
17
|
createPullManager(key, store, newKey, draft) {
|
|
18
|
-
return this.createManager(key, null, null, store, newKey, false, draft
|
|
18
|
+
return this.createManager(key, null, null, store, newKey, false, draft);
|
|
19
19
|
}
|
|
20
20
|
createPushManager(spaceKey, fileName, newKey, overwrite) {
|
|
21
|
-
return this.createManager(null, spaceKey, fileName, false, newKey, overwrite, false
|
|
22
|
-
}
|
|
23
|
-
createListManager(jsonResponse) {
|
|
24
|
-
return this.createManager(null, null, null, false, null, false, false, jsonResponse);
|
|
21
|
+
return this.createManager(null, spaceKey, fileName, false, newKey, overwrite, false);
|
|
25
22
|
}
|
|
26
23
|
createPushManagers(spaceKey) {
|
|
27
24
|
const filePaths = fs.readdirSync(process.cwd());
|
|
@@ -37,7 +34,7 @@
|
|
|
37
34
|
return this.createPushManager(spaceKey, filePath);
|
|
38
35
|
});
|
|
39
36
|
}
|
|
40
|
-
createManager(key, spaceKey, fileName, store, newKey, overwrite, draft
|
|
37
|
+
createManager(key, spaceKey, fileName, store, newKey, overwrite, draft) {
|
|
41
38
|
const packageManager = new package_manager_1.PackageManager();
|
|
42
39
|
if (fileName) {
|
|
43
40
|
packageManager.fileName = this.resolvePackageFilePath(fileName);
|
|
@@ -48,7 +45,6 @@
|
|
|
48
45
|
packageManager.newKey = newKey;
|
|
49
46
|
packageManager.overwrite = overwrite;
|
|
50
47
|
packageManager.draft = draft;
|
|
51
|
-
packageManager.jsonResponse = jsonResponse;
|
|
52
48
|
return packageManager;
|
|
53
49
|
}
|
|
54
50
|
isPackageFilePath(filePath) {
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
if (v !== undefined) module.exports = v;
|
|
5
5
|
}
|
|
6
6
|
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports", "./base.manager", "fs", "../../util/logger"
|
|
7
|
+
define(["require", "exports", "./base.manager", "fs", "../../util/logger"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
@@ -12,7 +12,6 @@
|
|
|
12
12
|
const base_manager_1 = require("./base.manager");
|
|
13
13
|
const fs = require("fs");
|
|
14
14
|
const logger_1 = require("../../util/logger");
|
|
15
|
-
const uuid_1 = require("uuid");
|
|
16
15
|
class PackageManager extends base_manager_1.BaseManager {
|
|
17
16
|
get key() {
|
|
18
17
|
return this._key;
|
|
@@ -56,12 +55,6 @@
|
|
|
56
55
|
set draft(value) {
|
|
57
56
|
this._draft = value;
|
|
58
57
|
}
|
|
59
|
-
get jsonResponse() {
|
|
60
|
-
return this._jsonResponse;
|
|
61
|
-
}
|
|
62
|
-
set jsonResponse(value) {
|
|
63
|
-
this._jsonResponse = value;
|
|
64
|
-
}
|
|
65
58
|
getConfig() {
|
|
66
59
|
return {
|
|
67
60
|
pushUrl: this.profile.team.replace(/\/?$/, this.buildPushUrl()),
|
|
@@ -90,16 +83,9 @@
|
|
|
90
83
|
return this.getPushUrlWithParams(pushUrl);
|
|
91
84
|
}
|
|
92
85
|
listPackages(nodes) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
logger_1.logger.info(this.fileDownloadedMessage + filename);
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
nodes.forEach(node => {
|
|
100
|
-
logger_1.logger.info(`${node.name} - Key: "${node.key}"`);
|
|
101
|
-
});
|
|
102
|
-
}
|
|
86
|
+
nodes.forEach(node => {
|
|
87
|
+
logger_1.logger.info(`${node.name} - Key: "${node.key}"`);
|
|
88
|
+
});
|
|
103
89
|
}
|
|
104
90
|
validateOptions() {
|
|
105
91
|
if (this.newKey && this.overwrite) {
|
package/content-cli-list.js
CHANGED
|
@@ -13,14 +13,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
13
13
|
if (v !== undefined) module.exports = v;
|
|
14
14
|
}
|
|
15
15
|
else if (typeof define === "function" && define.amd) {
|
|
16
|
-
define(["require", "exports", "./commands/package.command", "./commands/space.command", "commander"], factory);
|
|
16
|
+
define(["require", "exports", "./commands/package.command", "./commands/space.command", "commander", "./services/context.service", "./util/logger"], factory);
|
|
17
17
|
}
|
|
18
18
|
})(function (require, exports) {
|
|
19
19
|
"use strict";
|
|
20
|
+
var _a;
|
|
20
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
22
|
const package_command_1 = require("./commands/package.command");
|
|
22
23
|
const space_command_1 = require("./commands/space.command");
|
|
23
24
|
const commander = require("commander");
|
|
25
|
+
const context_service_1 = require("./services/context.service");
|
|
26
|
+
const logger_1 = require("./util/logger");
|
|
24
27
|
class List {
|
|
25
28
|
static packages(program) {
|
|
26
29
|
program
|
|
@@ -28,8 +31,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
28
31
|
.description("Command to list all packages")
|
|
29
32
|
.option("-p, --profile <profile>", "Profile which you want to use to list packages")
|
|
30
33
|
.option("--json", "Return response as json type", "")
|
|
34
|
+
.option("--includeDependencies", "Include variables and dependencies", "")
|
|
31
35
|
.action((cmd) => __awaiter(this, void 0, void 0, function* () {
|
|
32
|
-
yield new package_command_1.PackageCommand().listPackages(cmd.
|
|
36
|
+
yield new package_command_1.PackageCommand().listPackages(cmd.json, cmd.includeDependencies);
|
|
33
37
|
process.exit();
|
|
34
38
|
}));
|
|
35
39
|
return program;
|
|
@@ -47,9 +51,19 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
47
51
|
return program;
|
|
48
52
|
}
|
|
49
53
|
}
|
|
50
|
-
List
|
|
51
|
-
|
|
52
|
-
|
|
54
|
+
exports.List = List;
|
|
55
|
+
const options = commander.parseOptions(process.argv);
|
|
56
|
+
const indexOfProfileOption = (_a = options.unknown.indexOf('-p')) !== null && _a !== void 0 ? _a : options.unknown.indexOf('--profile');
|
|
57
|
+
process.on("unhandledRejection", (e, promise) => {
|
|
58
|
+
logger_1.logger.error(e.toString());
|
|
59
|
+
});
|
|
60
|
+
context_service_1.contextService.resolveProfile(options.unknown[indexOfProfileOption + 1]).then(() => {
|
|
61
|
+
List.packages(commander);
|
|
62
|
+
List.spaces(commander);
|
|
63
|
+
commander.parse(process.argv);
|
|
64
|
+
}).catch(e => {
|
|
65
|
+
console.log(e);
|
|
66
|
+
});
|
|
53
67
|
if (!process.argv.slice(2).length) {
|
|
54
68
|
commander.outputHelp();
|
|
55
69
|
process.exit(1);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
(function (factory) {
|
|
2
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
+
var v = factory(require, exports);
|
|
4
|
+
if (v !== undefined) module.exports = v;
|
|
5
|
+
}
|
|
6
|
+
else if (typeof define === "function" && define.amd) {
|
|
7
|
+
define(["require", "exports"], factory);
|
|
8
|
+
}
|
|
9
|
+
})(function (require, exports) {
|
|
10
|
+
"use strict";
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
(function (factory) {
|
|
2
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
+
var v = factory(require, exports);
|
|
4
|
+
if (v !== undefined) module.exports = v;
|
|
5
|
+
}
|
|
6
|
+
else if (typeof define === "function" && define.amd) {
|
|
7
|
+
define(["require", "exports"], factory);
|
|
8
|
+
}
|
|
9
|
+
})(function (require, exports) {
|
|
10
|
+
"use strict";
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { StudioDataModelTransport } from "../interfaces/package-manager.interfaces";
|
|
2
|
+
declare class ComputePoolApi {
|
|
3
|
+
static readonly INSTANCE: ComputePoolApi;
|
|
4
|
+
findAssignedDatamodels(packageKey: string): Promise<StudioDataModelTransport[]>;
|
|
5
|
+
}
|
|
6
|
+
export declare const computePoolApi: ComputePoolApi;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ContentNodeTransport } from "../interfaces/package-manager.interfaces";
|
|
2
|
+
declare class NodeApi {
|
|
3
|
+
static readonly INSTANCE: NodeApi;
|
|
4
|
+
findAllNodesOfType(assetType?: string): Promise<ContentNodeTransport[]>;
|
|
5
|
+
}
|
|
6
|
+
export declare const nodeApi: NodeApi;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ContentNodeTransport, PackageHistoryTransport, PackageWithVariableAssignments } from "../interfaces/package-manager.interfaces";
|
|
2
|
+
declare class PackageApi {
|
|
3
|
+
static readonly INSTANCE: PackageApi;
|
|
4
|
+
findAllPackages(): Promise<ContentNodeTransport[]>;
|
|
5
|
+
findAllPackagesWithVariableAssignments(): Promise<PackageWithVariableAssignments[]>;
|
|
6
|
+
findLatestVersionById(nodeId: string): Promise<PackageHistoryTransport>;
|
|
7
|
+
}
|
|
8
|
+
export declare const packageApi: PackageApi;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PackageDependencyTransport } from "../interfaces/package-manager.interfaces";
|
|
2
|
+
declare class PackageDependenciesApi {
|
|
3
|
+
static readonly INSTANCE: PackageDependenciesApi;
|
|
4
|
+
findDependenciesOfPackage(nodeId: string, draftId: string): Promise<PackageDependencyTransport[]>;
|
|
5
|
+
}
|
|
6
|
+
export declare const packageDependenciesApi: PackageDependenciesApi;
|
|
7
|
+
export {};
|
|
@@ -4,5 +4,5 @@ export declare class PackageCommand {
|
|
|
4
4
|
pullPackage(profile: string, key: string, store: boolean, newKey: string, draft: boolean): Promise<void>;
|
|
5
5
|
pushPackage(profile: string, spaceKey: string, fileName: string, newKey: string, overwrite: boolean): Promise<void>;
|
|
6
6
|
pushPackages(profile: string, spaceKey: string): Promise<void>;
|
|
7
|
-
listPackages(
|
|
7
|
+
listPackages(jsonResponse: boolean, includeDependencies: boolean): Promise<void>;
|
|
8
8
|
}
|
|
@@ -2,9 +2,8 @@ import { PackageManager } from "../manager/package.manager";
|
|
|
2
2
|
export declare class PackageManagerFactory {
|
|
3
3
|
createPullManager(key: string, store?: boolean, newKey?: string, draft?: boolean): PackageManager;
|
|
4
4
|
createPushManager(spaceKey: string, fileName: string, newKey?: string, overwrite?: boolean): PackageManager;
|
|
5
|
-
createListManager(jsonResponse: boolean): PackageManager;
|
|
6
5
|
createPushManagers(spaceKey: string): PackageManager[];
|
|
7
|
-
createManager(key?: string, spaceKey?: string, fileName?: string, store?: boolean, newKey?: string, overwrite?: boolean, draft?: boolean
|
|
6
|
+
createManager(key?: string, spaceKey?: string, fileName?: string, store?: boolean, newKey?: string, overwrite?: boolean, draft?: boolean): PackageManager;
|
|
8
7
|
private isPackageFilePath;
|
|
9
8
|
private resolvePackageFilePath;
|
|
10
9
|
}
|
|
@@ -13,7 +13,6 @@ export declare class PackageManager extends BaseManager {
|
|
|
13
13
|
private _newKey;
|
|
14
14
|
private _overwrite;
|
|
15
15
|
private _draft;
|
|
16
|
-
private _jsonResponse;
|
|
17
16
|
get key(): string;
|
|
18
17
|
set key(value: string);
|
|
19
18
|
get spaceKey(): string;
|
|
@@ -28,8 +27,6 @@ export declare class PackageManager extends BaseManager {
|
|
|
28
27
|
set overwrite(value: boolean);
|
|
29
28
|
get draft(): boolean;
|
|
30
29
|
set draft(value: boolean);
|
|
31
|
-
get jsonResponse(): boolean;
|
|
32
|
-
set jsonResponse(value: boolean);
|
|
33
30
|
getConfig(): ManagerConfig;
|
|
34
31
|
getBody(): any;
|
|
35
32
|
protected getSerializedFileContent(data: any): string;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ContentNodeTransport, PackageDependencyTransport, PackageHistoryTransport, StudioDataModelTransport, VariablesAssignments } from "./package-manager.interfaces";
|
|
2
|
+
export interface BatchExportNodeTransport extends ContentNodeTransport {
|
|
3
|
+
workingDraftId: string;
|
|
4
|
+
activatedDraftId: string;
|
|
5
|
+
version?: PackageHistoryTransport;
|
|
6
|
+
dependencies?: PackageDependencyTransport[];
|
|
7
|
+
datamodels?: StudioDataModelTransport[];
|
|
8
|
+
variables?: VariablesAssignments[];
|
|
9
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export interface AssetMetadataTransport {
|
|
2
|
+
hidden: boolean;
|
|
3
|
+
}
|
|
4
|
+
export interface ContentNodeTransport {
|
|
5
|
+
id: string;
|
|
6
|
+
key: string;
|
|
7
|
+
name: string;
|
|
8
|
+
rootNodeKey: string;
|
|
9
|
+
workingDraftId: string;
|
|
10
|
+
activatedDraftId: string;
|
|
11
|
+
rootNodeId: string;
|
|
12
|
+
assetMetadataTransport: AssetMetadataTransport;
|
|
13
|
+
spaceId: string;
|
|
14
|
+
}
|
|
15
|
+
export interface DataModelTransport {
|
|
16
|
+
id: string;
|
|
17
|
+
name: string;
|
|
18
|
+
poolId: string;
|
|
19
|
+
}
|
|
20
|
+
export interface PackageDependencyTransport {
|
|
21
|
+
id: string;
|
|
22
|
+
key: string;
|
|
23
|
+
name: string;
|
|
24
|
+
version: string;
|
|
25
|
+
rootNodeId: string;
|
|
26
|
+
}
|
|
27
|
+
export interface AssetMetadataTransport {
|
|
28
|
+
hidden: boolean;
|
|
29
|
+
}
|
|
30
|
+
export interface PackageWithVariableAssignments {
|
|
31
|
+
id: string;
|
|
32
|
+
key: string;
|
|
33
|
+
name: string;
|
|
34
|
+
createdBy: string;
|
|
35
|
+
variableAssignments: VariablesAssignments[];
|
|
36
|
+
}
|
|
37
|
+
export interface VariablesAssignments {
|
|
38
|
+
key: string;
|
|
39
|
+
value: object;
|
|
40
|
+
type: string;
|
|
41
|
+
}
|
|
42
|
+
export interface PackageHistoryTransport {
|
|
43
|
+
id: string;
|
|
44
|
+
key: string;
|
|
45
|
+
name: string;
|
|
46
|
+
version: string;
|
|
47
|
+
}
|
|
48
|
+
export interface StudioDataModelTransport {
|
|
49
|
+
node: StudioComputeNodeDescriptor;
|
|
50
|
+
dataPool: ComputePoolTransport;
|
|
51
|
+
}
|
|
52
|
+
export interface StudioComputeNodeDescriptor {
|
|
53
|
+
name: string;
|
|
54
|
+
dataModelId: string;
|
|
55
|
+
}
|
|
56
|
+
export interface ComputePoolTransport {
|
|
57
|
+
id: string;
|
|
58
|
+
name: string;
|
|
59
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AssetMetadataTransport } from "./package-manager.interfaces";
|
|
1
2
|
export interface SaveContentNode {
|
|
2
3
|
key: string;
|
|
3
4
|
rootNodeKey: string;
|
|
@@ -7,6 +8,3 @@ export interface SaveContentNode {
|
|
|
7
8
|
serializedContent: string;
|
|
8
9
|
assetMetadataTransport: AssetMetadataTransport;
|
|
9
10
|
}
|
|
10
|
-
export declare class AssetMetadataTransport {
|
|
11
|
-
hidden: boolean;
|
|
12
|
-
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Profile } from "../interfaces/profile.interface";
|
|
2
|
+
interface Context {
|
|
3
|
+
profile: Profile;
|
|
4
|
+
}
|
|
5
|
+
declare class ContextService {
|
|
6
|
+
static readonly INSTANCE: ContextService;
|
|
7
|
+
private context;
|
|
8
|
+
getContext(): Context;
|
|
9
|
+
resolveProfile(profile: string): Promise<void>;
|
|
10
|
+
setContext(context: Context): void;
|
|
11
|
+
}
|
|
12
|
+
export declare const contextService: ContextService;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare class FileService {
|
|
2
|
+
static readonly fileDownloadedMessage = "File downloaded successfully. New filename: ";
|
|
3
|
+
writeToFileWithGivenName(data: any, filename: string): void;
|
|
4
|
+
private getSerializedFileContent;
|
|
5
|
+
}
|
|
6
|
+
export declare const fileService: FileService;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
declare class HttpClientServiceV2 {
|
|
2
|
+
get(url: string): Promise<any>;
|
|
3
|
+
private resolveUrl;
|
|
4
|
+
private handleResponse;
|
|
5
|
+
private checkBadRequest;
|
|
6
|
+
private handleBadRequest;
|
|
7
|
+
private makeOptions;
|
|
8
|
+
private buildAuthorizationHeaders;
|
|
9
|
+
}
|
|
10
|
+
export declare const httpClientV2: HttpClientServiceV2;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BatchExportNodeTransport } from "../../interfaces/batch-export-node-transport";
|
|
2
|
+
declare class DatamodelService {
|
|
3
|
+
static readonly INSTANCE: DatamodelService;
|
|
4
|
+
getDatamodelsForNodes(nodesListToExport: BatchExportNodeTransport[]): Promise<BatchExportNodeTransport[]>;
|
|
5
|
+
}
|
|
6
|
+
export declare const dataModelService: DatamodelService;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BatchExportNodeTransport } from "../../interfaces/batch-export-node-transport";
|
|
2
|
+
import { PackageDependencyTransport } from "../../interfaces/package-manager.interfaces";
|
|
3
|
+
declare class PackageService {
|
|
4
|
+
protected readonly fileDownloadedMessage = "File downloaded successfully. New filename: ";
|
|
5
|
+
listPackages(): Promise<void>;
|
|
6
|
+
findAndExportAllPackages(includeDependencies: boolean): Promise<void>;
|
|
7
|
+
getPackagesDependenciesByPackageId(nodeIds: string[], draftIdByNodeId: Map<string, string>): Promise<Map<string, PackageDependencyTransport[]>>;
|
|
8
|
+
getVersionOfPackages(nodes: BatchExportNodeTransport[]): Promise<BatchExportNodeTransport[]>;
|
|
9
|
+
getPackagesWithDependencies(nodeIds: string[], draftIdByNodeId: Map<string, string>): Promise<PackageDependencyTransport[]>;
|
|
10
|
+
private exportListOfPackages;
|
|
11
|
+
}
|
|
12
|
+
export declare const packageService: PackageService;
|
|
13
|
+
export {};
|
package/package.json
CHANGED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
(function (factory) {
|
|
11
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
12
|
+
var v = factory(require, exports);
|
|
13
|
+
if (v !== undefined) module.exports = v;
|
|
14
|
+
}
|
|
15
|
+
else if (typeof define === "function" && define.amd) {
|
|
16
|
+
define(["require", "exports", "./profile.service"], factory);
|
|
17
|
+
}
|
|
18
|
+
})(function (require, exports) {
|
|
19
|
+
"use strict";
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
const profile_service_1 = require("./profile.service");
|
|
22
|
+
class ContextService {
|
|
23
|
+
getContext() {
|
|
24
|
+
return this.context;
|
|
25
|
+
}
|
|
26
|
+
resolveProfile(profile) {
|
|
27
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
const resolvedProfile = yield profile_service_1.profileService.findProfile(profile);
|
|
29
|
+
this.setContext({ profile: resolvedProfile });
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
;
|
|
33
|
+
setContext(context) {
|
|
34
|
+
this.context = context;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
ContextService.INSTANCE = new ContextService();
|
|
38
|
+
exports.contextService = ContextService.INSTANCE;
|
|
39
|
+
});
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
(function (factory) {
|
|
2
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
+
var v = factory(require, exports);
|
|
4
|
+
if (v !== undefined) module.exports = v;
|
|
5
|
+
}
|
|
6
|
+
else if (typeof define === "function" && define.amd) {
|
|
7
|
+
define(["require", "exports", "fs", "path"], factory);
|
|
8
|
+
}
|
|
9
|
+
})(function (require, exports) {
|
|
10
|
+
"use strict";
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const fs = require("fs");
|
|
13
|
+
const path = require("path");
|
|
14
|
+
class FileService {
|
|
15
|
+
writeToFileWithGivenName(data, filename) {
|
|
16
|
+
fs.writeFileSync(path.resolve(process.cwd(), filename), this.getSerializedFileContent(data), {
|
|
17
|
+
encoding: "utf-8",
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
getSerializedFileContent(data) {
|
|
21
|
+
return data;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.FileService = FileService;
|
|
25
|
+
FileService.fileDownloadedMessage = "File downloaded successfully. New filename: ";
|
|
26
|
+
exports.fileService = new FileService();
|
|
27
|
+
});
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
(function (factory) {
|
|
11
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
12
|
+
var v = factory(require, exports);
|
|
13
|
+
if (v !== undefined) module.exports = v;
|
|
14
|
+
}
|
|
15
|
+
else if (typeof define === "function" && define.amd) {
|
|
16
|
+
define(["require", "exports", "../interfaces/profile.interface", "request", "./context.service", "../util/logger"], factory);
|
|
17
|
+
}
|
|
18
|
+
})(function (require, exports) {
|
|
19
|
+
"use strict";
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
const profile_interface_1 = require("../interfaces/profile.interface");
|
|
22
|
+
const request = require("request");
|
|
23
|
+
const context_service_1 = require("./context.service");
|
|
24
|
+
const logger_1 = require("../util/logger");
|
|
25
|
+
class HttpClientServiceV2 {
|
|
26
|
+
get(url) {
|
|
27
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
return new Promise((resolve, reject) => {
|
|
29
|
+
request.get(this.resolveUrl(url), this.makeOptions(context_service_1.contextService.getContext().profile, null), (err, res) => {
|
|
30
|
+
this.handleResponse(res, resolve, reject);
|
|
31
|
+
});
|
|
32
|
+
}).catch(e => {
|
|
33
|
+
throw new logger_1.FatalError(e);
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
resolveUrl(url) {
|
|
38
|
+
return context_service_1.contextService.getContext().profile.team.replace(/\/?$/, url);
|
|
39
|
+
}
|
|
40
|
+
handleResponse(res, resolve, reject) {
|
|
41
|
+
if (this.checkBadRequest(res.statusCode)) {
|
|
42
|
+
this.handleBadRequest(res.statusCode, res.body, reject);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
let body = {};
|
|
46
|
+
try {
|
|
47
|
+
if (res.body) {
|
|
48
|
+
body = JSON.parse(res.body);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
catch (e) {
|
|
52
|
+
reject("Something went wrong. Please check that you have the right url and api key.");
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
resolve(body);
|
|
56
|
+
}
|
|
57
|
+
checkBadRequest(statusCode) {
|
|
58
|
+
return statusCode >= 400;
|
|
59
|
+
}
|
|
60
|
+
// tslint:disable-next-line:typedef
|
|
61
|
+
handleBadRequest(statusCode, data, reject) {
|
|
62
|
+
if (data) {
|
|
63
|
+
reject(data);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
reject("Backend responded with status code " + statusCode);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
makeOptions(profile, body = {}) {
|
|
70
|
+
const options = {
|
|
71
|
+
headers: this.buildAuthorizationHeaders(profile),
|
|
72
|
+
};
|
|
73
|
+
return Object.assign(options, body);
|
|
74
|
+
}
|
|
75
|
+
buildAuthorizationHeaders(profile) {
|
|
76
|
+
const authenticationType = profile.authenticationType || profile_interface_1.AuthenticationType.BEARER;
|
|
77
|
+
return {
|
|
78
|
+
authorization: `${authenticationType} ${profile.apiToken}`,
|
|
79
|
+
"content-type": "application/json",
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
exports.httpClientV2 = new HttpClientServiceV2();
|
|
84
|
+
});
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
(function (factory) {
|
|
11
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
12
|
+
var v = factory(require, exports);
|
|
13
|
+
if (v !== undefined) module.exports = v;
|
|
14
|
+
}
|
|
15
|
+
else if (typeof define === "function" && define.amd) {
|
|
16
|
+
define(["require", "exports", "../../api/compute-pool-api"], factory);
|
|
17
|
+
}
|
|
18
|
+
})(function (require, exports) {
|
|
19
|
+
"use strict";
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
const compute_pool_api_1 = require("../../api/compute-pool-api");
|
|
22
|
+
class DatamodelService {
|
|
23
|
+
getDatamodelsForNodes(nodesListToExport) {
|
|
24
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
const promises = [];
|
|
26
|
+
nodesListToExport.forEach(node => {
|
|
27
|
+
promises.push(new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
node.datamodels = yield compute_pool_api_1.computePoolApi.findAssignedDatamodels(node.key);
|
|
29
|
+
resolve(node);
|
|
30
|
+
})));
|
|
31
|
+
});
|
|
32
|
+
return Promise.all(promises);
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
DatamodelService.INSTANCE = new DatamodelService();
|
|
37
|
+
exports.dataModelService = DatamodelService.INSTANCE;
|
|
38
|
+
});
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
(function (factory) {
|
|
11
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
12
|
+
var v = factory(require, exports);
|
|
13
|
+
if (v !== undefined) module.exports = v;
|
|
14
|
+
}
|
|
15
|
+
else if (typeof define === "function" && define.amd) {
|
|
16
|
+
define(["require", "exports", "../../util/logger", "../../api/package-api", "uuid", "../file-service", "./datamodel-service", "../../api/node-api", "../../api/package-dependencies-api"], factory);
|
|
17
|
+
}
|
|
18
|
+
})(function (require, exports) {
|
|
19
|
+
"use strict";
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
const logger_1 = require("../../util/logger");
|
|
22
|
+
const package_api_1 = require("../../api/package-api");
|
|
23
|
+
const uuid_1 = require("uuid");
|
|
24
|
+
const file_service_1 = require("../file-service");
|
|
25
|
+
const datamodel_service_1 = require("./datamodel-service");
|
|
26
|
+
const node_api_1 = require("../../api/node-api");
|
|
27
|
+
const package_dependencies_api_1 = require("../../api/package-dependencies-api");
|
|
28
|
+
class PackageService {
|
|
29
|
+
constructor() {
|
|
30
|
+
this.fileDownloadedMessage = "File downloaded successfully. New filename: ";
|
|
31
|
+
}
|
|
32
|
+
listPackages() {
|
|
33
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
const nodes = yield package_api_1.packageApi.findAllPackages();
|
|
35
|
+
nodes.forEach(node => {
|
|
36
|
+
logger_1.logger.info(`${node.name} - Key: "${node.key}"`);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
findAndExportAllPackages(includeDependencies) {
|
|
41
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
+
const fieldsToInclude = ["key", "name", "changeDate", "activatedDraftId", "spaceId"];
|
|
43
|
+
let nodesListToExport = yield package_api_1.packageApi.findAllPackages();
|
|
44
|
+
if (includeDependencies) {
|
|
45
|
+
fieldsToInclude.push("type", "value", "dependencies", "id", "version", "poolId", "node", "dataModelId", "dataPool", "datamodels");
|
|
46
|
+
const packagesKeyWithActionFlows = (yield node_api_1.nodeApi.findAllNodesOfType("SCENARIO")).map(node => node.rootNodeKey);
|
|
47
|
+
nodesListToExport = nodesListToExport.filter(node => {
|
|
48
|
+
return !packagesKeyWithActionFlows.includes(node.rootNodeKey);
|
|
49
|
+
});
|
|
50
|
+
//TODO need to replace all these individual calls with a single api call that gets all the required data.
|
|
51
|
+
nodesListToExport = yield this.getVersionOfPackages(nodesListToExport);
|
|
52
|
+
nodesListToExport = yield datamodel_service_1.dataModelService.getDatamodelsForNodes(nodesListToExport);
|
|
53
|
+
const draftIdByNodeId = new Map();
|
|
54
|
+
const nodeIds = nodesListToExport.map(node => {
|
|
55
|
+
draftIdByNodeId.set(node.id, node.workingDraftId);
|
|
56
|
+
return node.id;
|
|
57
|
+
});
|
|
58
|
+
const dependenciesByPackageId = yield this.getPackagesDependenciesByPackageId(nodeIds, draftIdByNodeId);
|
|
59
|
+
nodesListToExport = nodesListToExport.map(nodeToExport => {
|
|
60
|
+
nodeToExport.dependencies = dependenciesByPackageId.get(nodeToExport.id);
|
|
61
|
+
return nodeToExport;
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
this.exportListOfPackages(nodesListToExport, fieldsToInclude);
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
getPackagesDependenciesByPackageId(nodeIds, draftIdByNodeId) {
|
|
68
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
const dependenciesByPackageKey = new Map();
|
|
70
|
+
const packageWithDependencies = yield this.getPackagesWithDependencies(nodeIds, draftIdByNodeId);
|
|
71
|
+
packageWithDependencies.forEach(packageWithDependency => {
|
|
72
|
+
var _a;
|
|
73
|
+
const dependenciesOfPackage = (_a = dependenciesByPackageKey.get(packageWithDependency.rootNodeId)) !== null && _a !== void 0 ? _a : [];
|
|
74
|
+
dependenciesOfPackage.push(packageWithDependency);
|
|
75
|
+
dependenciesByPackageKey.set(packageWithDependency.rootNodeId, dependenciesOfPackage);
|
|
76
|
+
});
|
|
77
|
+
return dependenciesByPackageKey;
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
getVersionOfPackages(nodes) {
|
|
81
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
82
|
+
const promises = [];
|
|
83
|
+
nodes.forEach(node => {
|
|
84
|
+
promises.push(new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
|
|
85
|
+
node.version = yield package_api_1.packageApi.findLatestVersionById(node.id);
|
|
86
|
+
resolve(node);
|
|
87
|
+
})));
|
|
88
|
+
});
|
|
89
|
+
return Promise.all(promises);
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
getPackagesWithDependencies(nodeIds, draftIdByNodeId) {
|
|
93
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
94
|
+
const promises = [];
|
|
95
|
+
nodeIds.forEach((nodeId) => __awaiter(this, void 0, void 0, function* () { return promises.push(package_dependencies_api_1.packageDependenciesApi.findDependenciesOfPackage(nodeId, draftIdByNodeId.get(nodeId))); }));
|
|
96
|
+
return yield Promise.all(promises);
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
exportListOfPackages(nodes, fieldsToInclude) {
|
|
100
|
+
const filename = uuid_1.v4() + ".json";
|
|
101
|
+
file_service_1.fileService.writeToFileWithGivenName(JSON.stringify(nodes, fieldsToInclude), filename);
|
|
102
|
+
logger_1.logger.info(file_service_1.FileService.fileDownloadedMessage + filename);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
exports.packageService = new PackageService();
|
|
106
|
+
});
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
(function (factory) {
|
|
11
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
12
|
+
var v = factory(require, exports);
|
|
13
|
+
if (v !== undefined) module.exports = v;
|
|
14
|
+
}
|
|
15
|
+
else if (typeof define === "function" && define.amd) {
|
|
16
|
+
define(["require", "exports", "../../api/package-api"], factory);
|
|
17
|
+
}
|
|
18
|
+
})(function (require, exports) {
|
|
19
|
+
"use strict";
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
const package_api_1 = require("../../api/package-api");
|
|
22
|
+
class VariableService {
|
|
23
|
+
getVariablesByNodeKey() {
|
|
24
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
const nodeWithVariablesAssignments = yield package_api_1.packageApi.findAllPackagesWithVariableAssignments();
|
|
26
|
+
const variablesByNodeKey = new Map();
|
|
27
|
+
nodeWithVariablesAssignments.forEach(nodeWithVariablesAssignment => {
|
|
28
|
+
variablesByNodeKey.set(nodeWithVariablesAssignment.key, nodeWithVariablesAssignment.variableAssignments);
|
|
29
|
+
});
|
|
30
|
+
return variablesByNodeKey;
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.variableService = new VariableService();
|
|
35
|
+
});
|