@celonis/content-cli 0.3.4 → 0.4.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/node-api.js +7 -0
- package/api/package-api.js +55 -0
- package/api/package-dependencies-api.js +29 -0
- package/api/space-api.js +48 -0
- package/commands/package.command.js +11 -1
- package/content-cli-export.js +61 -0
- package/content-cli-import.js +61 -0
- package/content-cli.js +2 -0
- package/interfaces/manifest-transport.js +12 -0
- package/lib/api/node-api.d.ts +1 -0
- package/lib/api/package-api.d.ts +9 -1
- package/lib/api/package-dependencies-api.d.ts +4 -0
- package/lib/api/space-api.d.ts +9 -0
- package/lib/commands/package.command.d.ts +2 -0
- package/lib/content-cli-export.d.ts +4 -0
- package/lib/content-cli-import.d.ts +4 -0
- package/lib/interfaces/batch-export-node-transport.d.ts +10 -0
- package/lib/interfaces/manifest-transport.d.ts +27 -0
- package/lib/interfaces/package-manager.interfaces.d.ts +10 -0
- package/lib/interfaces/save-space.interface.d.ts +2 -1
- package/lib/services/file-service.d.ts +3 -0
- package/lib/services/http-client-service.v2.d.ts +8 -0
- package/lib/services/package-manager/datamodel-service.d.ts +2 -1
- package/lib/services/package-manager/package-service.d.ts +21 -4
- package/lib/services/package-manager/space-service.d.ts +11 -0
- package/lib/services/package-manager/variable-service.d.ts +3 -2
- package/package.json +1 -1
- package/services/file-service.js +9 -1
- package/services/http-client-service.v2.js +91 -3
- package/services/package-manager/datamodel-service.js +6 -8
- package/services/package-manager/package-service.js +331 -34
- package/services/package-manager/space-service.js +61 -0
- package/services/package-manager/variable-service.js +2 -7
package/api/node-api.js
CHANGED
|
@@ -29,6 +29,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
29
29
|
});
|
|
30
30
|
});
|
|
31
31
|
}
|
|
32
|
+
findOneByKeyAndRootNodeKey(packageKey, nodeKey) {
|
|
33
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
return http_client_service_v2_1.httpClientV2.get(`/package-manager/api/nodes/${packageKey}/${nodeKey}`).catch(e => {
|
|
35
|
+
return null;
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
}
|
|
32
39
|
}
|
|
33
40
|
NodeApi.INSTANCE = new NodeApi();
|
|
34
41
|
exports.nodeApi = NodeApi.INSTANCE;
|
package/api/package-api.js
CHANGED
|
@@ -28,6 +28,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
28
28
|
});
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
|
+
exportPackage(rootPackageKey, version) {
|
|
32
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
+
const queryParams = new URLSearchParams();
|
|
34
|
+
queryParams.set("newKey", rootPackageKey);
|
|
35
|
+
queryParams.set("version", version !== null && version !== void 0 ? version : "");
|
|
36
|
+
return yield http_client_service_v2_1.httpClientV2.downloadFile(`/package-manager/api/packages/${rootPackageKey}/export?${queryParams.toString()}`).catch(e => {
|
|
37
|
+
throw new logger_1.FatalError(`Pacakge ${rootPackageKey}_${version} failed to export.`);
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
}
|
|
31
41
|
findAllPackagesWithVariableAssignments() {
|
|
32
42
|
return __awaiter(this, void 0, void 0, function* () {
|
|
33
43
|
return http_client_service_v2_1.httpClientV2.get("/package-manager/api/packages/with-variable-assignments").catch(e => {
|
|
@@ -42,6 +52,51 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
42
52
|
});
|
|
43
53
|
});
|
|
44
54
|
}
|
|
55
|
+
findActiveVersionById(nodeId) {
|
|
56
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
+
return http_client_service_v2_1.httpClientV2.get(`/package-manager/api/packages/${nodeId}/active`).catch(e => {
|
|
58
|
+
throw new logger_1.FatalError(`Problem getting latest version of package: ${e}`);
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
findActiveVersionByIds(nodeIds) {
|
|
63
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
+
return http_client_service_v2_1.httpClientV2.post("/package-manager/api/packages/active/by-ids", nodeIds).catch(e => {
|
|
65
|
+
throw new logger_1.FatalError(`Problem getting latest version of packages: ${e}`);
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
findNextVersion(nodeId) {
|
|
70
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
71
|
+
return http_client_service_v2_1.httpClientV2.get(`/package-manager/api/packages/${nodeId}/next-version`).catch(e => {
|
|
72
|
+
throw new logger_1.FatalError(`Problem getting latest version of package: ${e}`);
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
importPackage(nodeContent, spaceId, overwrite) {
|
|
77
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
78
|
+
yield http_client_service_v2_1.httpClientV2.postFile("/package-manager/api/packages/import", nodeContent, {
|
|
79
|
+
spaceId: spaceId,
|
|
80
|
+
overwrite: overwrite
|
|
81
|
+
}).catch(e => {
|
|
82
|
+
throw new logger_1.FatalError(`Problem importing package: ${e}`);
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
movePackageToSpace(nodeId, spaceId) {
|
|
87
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
88
|
+
yield http_client_service_v2_1.httpClientV2.put(`/package-manager/api/packages/${nodeId}/move/${spaceId}`, {}).catch(e => {
|
|
89
|
+
throw new logger_1.FatalError(`Problem moving package: ${e}`);
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
publishPackage(activatePackage) {
|
|
94
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
95
|
+
yield http_client_service_v2_1.httpClientV2.post(`/package-manager/api/packages/${activatePackage.packageKey}/activate`, activatePackage).catch(e => {
|
|
96
|
+
throw new logger_1.FatalError(`Problem activating package with key ${activatePackage.packageKey}: ${e}`);
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
}
|
|
45
100
|
}
|
|
46
101
|
PackageApi.INSTANCE = new PackageApi();
|
|
47
102
|
exports.packageApi = PackageApi.INSTANCE;
|
|
@@ -29,6 +29,35 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
29
29
|
});
|
|
30
30
|
});
|
|
31
31
|
}
|
|
32
|
+
findPackageDependenciesByIds(nodeDraftIdMap) {
|
|
33
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
return yield http_client_service_v2_1.httpClientV2.post("/package-manager/api/package-dependencies/by-ids", Object.fromEntries(nodeDraftIdMap))
|
|
35
|
+
.catch(e => {
|
|
36
|
+
throw new logger_1.FatalError(`Problem getting dependencies of package: ${e}`);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
updatePackageDependency(nodeId, packageDependency) {
|
|
41
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
+
yield http_client_service_v2_1.httpClientV2.put(`/package-manager/api/package-dependencies/${nodeId}/dependency/by-key/${packageDependency.key}`, packageDependency).catch(e => {
|
|
43
|
+
throw new logger_1.FatalError(`Problem updating package dependency: ${e}`);
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
createDependencies(packageId, packageDependency) {
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
yield http_client_service_v2_1.httpClientV2.post(`/package-manager/api/package-dependencies/${packageId}`, packageDependency).catch(e => {
|
|
50
|
+
throw new logger_1.FatalError(`Problem updating package dependency: ${e}`);
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
deleteDependency(packageId, packageDependencyKey) {
|
|
55
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
yield http_client_service_v2_1.httpClientV2.delete(`/package-manager/api/package-dependencies/${packageId}/dependency/by-key/${packageDependencyKey}`).catch(e => {
|
|
57
|
+
throw new logger_1.FatalError(`Problem updating package dependency: ${e}`);
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
}
|
|
32
61
|
}
|
|
33
62
|
PackageDependenciesApi.INSTANCE = new PackageDependenciesApi();
|
|
34
63
|
exports.packageDependenciesApi = PackageDependenciesApi.INSTANCE;
|
package/api/space-api.js
ADDED
|
@@ -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 SpaceApi {
|
|
24
|
+
findOne(spaceId) {
|
|
25
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
+
return http_client_service_v2_1.httpClientV2.get(`/package-manager/api/spaces/${spaceId}`).catch(e => {
|
|
27
|
+
throw new logger_1.FatalError(`Problem getting packages: ${e}`);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
findAllSpaces() {
|
|
32
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
+
return http_client_service_v2_1.httpClientV2.get("/package-manager/api/spaces").catch(e => {
|
|
34
|
+
throw new logger_1.FatalError(`Problem getting packages: ${e}`);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
createSpace(space) {
|
|
39
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
return http_client_service_v2_1.httpClientV2.post("/package-manager/api/spaces", space).catch(e => {
|
|
41
|
+
throw new logger_1.FatalError(`Problem getting packages: ${e}`);
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
SpaceApi.INSTANCE = new SpaceApi();
|
|
47
|
+
exports.spaceApi = SpaceApi.INSTANCE;
|
|
48
|
+
});
|
|
@@ -44,13 +44,23 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
44
44
|
listPackages(jsonResponse, includeDependencies) {
|
|
45
45
|
return __awaiter(this, void 0, void 0, function* () {
|
|
46
46
|
if (jsonResponse) {
|
|
47
|
-
yield package_service_1.packageService.
|
|
47
|
+
yield package_service_1.packageService.findAndExportListOfAllPackages(includeDependencies);
|
|
48
48
|
}
|
|
49
49
|
else {
|
|
50
50
|
yield package_service_1.packageService.listPackages();
|
|
51
51
|
}
|
|
52
52
|
});
|
|
53
53
|
}
|
|
54
|
+
batchExportPackages(packageKeys, includeDependencies) {
|
|
55
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
yield package_service_1.packageService.batchExportPackages(packageKeys, includeDependencies);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
batchImportPackages(spaceMappings, exportedPackagesFile) {
|
|
60
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
yield package_service_1.packageService.batchImportPackages(spaceMappings !== null && spaceMappings !== void 0 ? spaceMappings : [], exportedPackagesFile);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
54
64
|
}
|
|
55
65
|
exports.PackageCommand = PackageCommand;
|
|
56
66
|
});
|
|
@@ -0,0 +1,61 @@
|
|
|
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", "./commands/package.command", "./util/logger", "./services/context.service", "commander"], factory);
|
|
17
|
+
}
|
|
18
|
+
})(function (require, exports) {
|
|
19
|
+
"use strict";
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
const package_command_1 = require("./commands/package.command");
|
|
22
|
+
const logger_1 = require("./util/logger");
|
|
23
|
+
const context_service_1 = require("./services/context.service");
|
|
24
|
+
const commander = require("commander");
|
|
25
|
+
class Export {
|
|
26
|
+
static packages(program) {
|
|
27
|
+
program
|
|
28
|
+
.command("packages")
|
|
29
|
+
.description("Command to export all given packages")
|
|
30
|
+
.option("-p, --profile <profile>", "Profile which you want to use to list packages")
|
|
31
|
+
.requiredOption("--packageKeys <packageKeys...>", "Exports only given package keys")
|
|
32
|
+
.option("--includeDependencies", "Include variables and dependencies", "")
|
|
33
|
+
.action((cmd) => __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
yield new package_command_1.PackageCommand().batchExportPackages(cmd.packageKeys, cmd.includeDependencies);
|
|
35
|
+
process.exit();
|
|
36
|
+
}));
|
|
37
|
+
return program;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.Export = Export;
|
|
41
|
+
const options = commander.parseOptions(process.argv);
|
|
42
|
+
const indexOfProfileOption = options.unknown.indexOf('-p') !== -1 ? options.unknown.indexOf('-p') : options.unknown.indexOf('--profile');
|
|
43
|
+
process.on("unhandledRejection", (e, promise) => {
|
|
44
|
+
logger_1.logger.error(e.toString());
|
|
45
|
+
});
|
|
46
|
+
context_service_1.contextService.resolveProfile(options.unknown[indexOfProfileOption + 1]).then(() => {
|
|
47
|
+
getAllCommands();
|
|
48
|
+
}, () => {
|
|
49
|
+
getAllCommands();
|
|
50
|
+
}).catch(e => {
|
|
51
|
+
console.log(e);
|
|
52
|
+
});
|
|
53
|
+
if (!process.argv.slice(2).length) {
|
|
54
|
+
commander.outputHelp();
|
|
55
|
+
process.exit(1);
|
|
56
|
+
}
|
|
57
|
+
function getAllCommands() {
|
|
58
|
+
Export.packages(commander);
|
|
59
|
+
commander.parse(process.argv);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
@@ -0,0 +1,61 @@
|
|
|
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", "./commands/package.command", "./util/logger", "./services/context.service", "commander"], factory);
|
|
17
|
+
}
|
|
18
|
+
})(function (require, exports) {
|
|
19
|
+
"use strict";
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
const package_command_1 = require("./commands/package.command");
|
|
22
|
+
const logger_1 = require("./util/logger");
|
|
23
|
+
const context_service_1 = require("./services/context.service");
|
|
24
|
+
const commander = require("commander");
|
|
25
|
+
class Import {
|
|
26
|
+
static packages(program) {
|
|
27
|
+
program
|
|
28
|
+
.command("packages")
|
|
29
|
+
.description("Command to import all given packages")
|
|
30
|
+
.option("-p, --profile <profile>", "Profile which you want to use to list packages")
|
|
31
|
+
.option("--spaceMappings <spaceMappings...>", "List of mappings for importing packages to different target spaces. Mappings should follow format 'packageKey:targetSpaceKey'")
|
|
32
|
+
.requiredOption("-f, --file <file>", "Exported packages file (relative path)")
|
|
33
|
+
.action((cmd) => __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
yield new package_command_1.PackageCommand().batchImportPackages(cmd.spaceMappings, cmd.file);
|
|
35
|
+
process.exit();
|
|
36
|
+
}));
|
|
37
|
+
return program;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.Import = Import;
|
|
41
|
+
const options = commander.parseOptions(process.argv);
|
|
42
|
+
const indexOfProfileOption = options.unknown.indexOf('-p') !== -1 ? options.unknown.indexOf('-p') : options.unknown.indexOf('--profile');
|
|
43
|
+
process.on("unhandledRejection", (e, promise) => {
|
|
44
|
+
logger_1.logger.error(e.toString());
|
|
45
|
+
});
|
|
46
|
+
context_service_1.contextService.resolveProfile(options.unknown[indexOfProfileOption + 1]).then(() => {
|
|
47
|
+
getAllCommands();
|
|
48
|
+
}, () => {
|
|
49
|
+
getAllCommands();
|
|
50
|
+
}).catch(e => {
|
|
51
|
+
console.log(e);
|
|
52
|
+
});
|
|
53
|
+
if (!process.argv.slice(2).length) {
|
|
54
|
+
commander.outputHelp();
|
|
55
|
+
process.exit(1);
|
|
56
|
+
}
|
|
57
|
+
function getAllCommands() {
|
|
58
|
+
Import.packages(commander);
|
|
59
|
+
commander.parse(process.argv);
|
|
60
|
+
}
|
|
61
|
+
});
|
package/content-cli.js
CHANGED
|
@@ -22,6 +22,8 @@
|
|
|
22
22
|
}
|
|
23
23
|
program.command("profile", "Commands related to profiles.");
|
|
24
24
|
program.command("pull", "Commands to pull content.");
|
|
25
|
+
program.command("export", "Commands to export content.");
|
|
26
|
+
program.command("import", "Commands to export content.");
|
|
25
27
|
program.command("push", "Commands to push content.");
|
|
26
28
|
program.command("update", "Commands to update content.");
|
|
27
29
|
program.command("list", "Commands to list content.").alias("ls");
|
|
@@ -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
|
+
});
|
package/lib/api/node-api.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { ContentNodeTransport } from "../interfaces/package-manager.interfaces";
|
|
|
2
2
|
declare class NodeApi {
|
|
3
3
|
static readonly INSTANCE: NodeApi;
|
|
4
4
|
findAllNodesOfType(assetType?: string): Promise<ContentNodeTransport[]>;
|
|
5
|
+
findOneByKeyAndRootNodeKey(packageKey: string, nodeKey: string): Promise<ContentNodeTransport | null>;
|
|
5
6
|
}
|
|
6
7
|
export declare const nodeApi: NodeApi;
|
|
7
8
|
export {};
|
package/lib/api/package-api.d.ts
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { ActivatePackageTransport, ContentNodeTransport, PackageHistoryTransport, PackageWithVariableAssignments } from "../interfaces/package-manager.interfaces";
|
|
2
3
|
declare class PackageApi {
|
|
3
4
|
static readonly INSTANCE: PackageApi;
|
|
4
5
|
findAllPackages(): Promise<ContentNodeTransport[]>;
|
|
6
|
+
exportPackage(rootPackageKey: string, version?: string): Promise<Buffer>;
|
|
5
7
|
findAllPackagesWithVariableAssignments(): Promise<PackageWithVariableAssignments[]>;
|
|
6
8
|
findLatestVersionById(nodeId: string): Promise<PackageHistoryTransport>;
|
|
9
|
+
findActiveVersionById(nodeId: string): Promise<PackageHistoryTransport>;
|
|
10
|
+
findActiveVersionByIds(nodeIds: string[]): Promise<PackageHistoryTransport[]>;
|
|
11
|
+
findNextVersion(nodeId: string): Promise<PackageHistoryTransport>;
|
|
12
|
+
importPackage(nodeContent: any, spaceId: string, overwrite: boolean): Promise<any>;
|
|
13
|
+
movePackageToSpace(nodeId: string, spaceId: string): Promise<void>;
|
|
14
|
+
publishPackage(activatePackage: ActivatePackageTransport): Promise<void>;
|
|
7
15
|
}
|
|
8
16
|
export declare const packageApi: PackageApi;
|
|
9
17
|
export {};
|
|
@@ -2,6 +2,10 @@ import { PackageDependencyTransport } from "../interfaces/package-manager.interf
|
|
|
2
2
|
declare class PackageDependenciesApi {
|
|
3
3
|
static readonly INSTANCE: PackageDependenciesApi;
|
|
4
4
|
findDependenciesOfPackage(nodeId: string, draftId: string): Promise<PackageDependencyTransport[]>;
|
|
5
|
+
findPackageDependenciesByIds(nodeDraftIdMap: Map<string, string>): Promise<Map<string, PackageDependencyTransport[]>>;
|
|
6
|
+
updatePackageDependency(nodeId: string, packageDependency: PackageDependencyTransport): Promise<void>;
|
|
7
|
+
createDependencies(packageId: string, packageDependency: PackageDependencyTransport[]): Promise<void>;
|
|
8
|
+
deleteDependency(packageId: string, packageDependencyKey: string): Promise<void>;
|
|
5
9
|
}
|
|
6
10
|
export declare const packageDependenciesApi: PackageDependenciesApi;
|
|
7
11
|
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { SpaceTransport } from "../interfaces/save-space.interface";
|
|
2
|
+
declare class SpaceApi {
|
|
3
|
+
static readonly INSTANCE: SpaceApi;
|
|
4
|
+
findOne(spaceId: string): Promise<SpaceTransport>;
|
|
5
|
+
findAllSpaces(): Promise<SpaceTransport[]>;
|
|
6
|
+
createSpace(space: SpaceTransport): Promise<SpaceTransport>;
|
|
7
|
+
}
|
|
8
|
+
export declare const spaceApi: SpaceApi;
|
|
9
|
+
export {};
|
|
@@ -5,4 +5,6 @@ export declare class PackageCommand {
|
|
|
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
7
|
listPackages(jsonResponse: boolean, includeDependencies: boolean): Promise<void>;
|
|
8
|
+
batchExportPackages(packageKeys: string[], includeDependencies: boolean): Promise<void>;
|
|
9
|
+
batchImportPackages(spaceMappings: string[], exportedPackagesFile: string): Promise<void>;
|
|
8
10
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ContentNodeTransport, PackageDependencyTransport, PackageHistoryTransport, StudioDataModelTransport, VariablesAssignments } from "./package-manager.interfaces";
|
|
2
|
+
import { SpaceTransport } from "./save-space.interface";
|
|
2
3
|
export interface BatchExportNodeTransport extends ContentNodeTransport {
|
|
3
4
|
workingDraftId: string;
|
|
4
5
|
activatedDraftId: string;
|
|
@@ -6,4 +7,13 @@ export interface BatchExportNodeTransport extends ContentNodeTransport {
|
|
|
6
7
|
dependencies?: PackageDependencyTransport[];
|
|
7
8
|
datamodels?: StudioDataModelTransport[];
|
|
8
9
|
variables?: VariablesAssignments[];
|
|
10
|
+
space?: SpaceTransport;
|
|
11
|
+
}
|
|
12
|
+
export interface PackageAndAssetTransport {
|
|
13
|
+
rootNode: ContentNodeTransport;
|
|
14
|
+
nodes: ContentNodeTransport[];
|
|
15
|
+
}
|
|
16
|
+
export interface SpaceMappingTransport {
|
|
17
|
+
packageKey: string;
|
|
18
|
+
spaceId: string;
|
|
9
19
|
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { VariablesAssignments } from "./package-manager.interfaces";
|
|
2
|
+
export interface ManifestNodeTransport {
|
|
3
|
+
packageKey: string;
|
|
4
|
+
packageId: string;
|
|
5
|
+
variables: ManifestVariable[];
|
|
6
|
+
space: ManifestSpace;
|
|
7
|
+
dependenciesByVersion: Map<string, ManifestDependency[]>;
|
|
8
|
+
}
|
|
9
|
+
export interface ManifestVariable extends VariablesAssignments {
|
|
10
|
+
dataPoolName?: string;
|
|
11
|
+
dataModelName?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface ManifestSpace {
|
|
14
|
+
spaceName: string;
|
|
15
|
+
spaceIcon: string;
|
|
16
|
+
}
|
|
17
|
+
export interface ManifestDependency {
|
|
18
|
+
id: string;
|
|
19
|
+
key: string;
|
|
20
|
+
name: string;
|
|
21
|
+
version: string;
|
|
22
|
+
rootNodeId: string;
|
|
23
|
+
external: boolean;
|
|
24
|
+
draftId: string;
|
|
25
|
+
updateAvailable: boolean;
|
|
26
|
+
deleted: boolean;
|
|
27
|
+
}
|
|
@@ -12,6 +12,12 @@ export interface ContentNodeTransport {
|
|
|
12
12
|
assetMetadataTransport: AssetMetadataTransport;
|
|
13
13
|
spaceId: string;
|
|
14
14
|
}
|
|
15
|
+
export interface ActivatePackageTransport {
|
|
16
|
+
packageKey: string;
|
|
17
|
+
version: string;
|
|
18
|
+
publishMessage: string;
|
|
19
|
+
nodeIdsToExclude: string[];
|
|
20
|
+
}
|
|
15
21
|
export interface DataModelTransport {
|
|
16
22
|
id: string;
|
|
17
23
|
name: string;
|
|
@@ -23,6 +29,10 @@ export interface PackageDependencyTransport {
|
|
|
23
29
|
name: string;
|
|
24
30
|
version: string;
|
|
25
31
|
rootNodeId: string;
|
|
32
|
+
external: boolean;
|
|
33
|
+
draftId: string;
|
|
34
|
+
updateAvailable: boolean;
|
|
35
|
+
deleted: boolean;
|
|
26
36
|
}
|
|
27
37
|
export interface AssetMetadataTransport {
|
|
28
38
|
hidden: boolean;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import { ManifestNodeTransport } from "../interfaces/manifest-transport";
|
|
1
2
|
export declare class FileService {
|
|
2
3
|
static readonly fileDownloadedMessage = "File downloaded successfully. New filename: ";
|
|
3
4
|
writeToFileWithGivenName(data: any, filename: string): void;
|
|
5
|
+
createDirectoryWithGivenName(dirName: string): void;
|
|
6
|
+
readManifestFile(importedFileName: string): Promise<ManifestNodeTransport[]>;
|
|
4
7
|
private getSerializedFileContent;
|
|
5
8
|
}
|
|
6
9
|
export declare const fileService: FileService;
|
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
declare class HttpClientServiceV2 {
|
|
2
2
|
get(url: string): Promise<any>;
|
|
3
|
+
postFile(url: string, body: any, parameters?: {}): Promise<any>;
|
|
4
|
+
post(url: string, body: any): Promise<any>;
|
|
5
|
+
put(url: string, body: object): Promise<any>;
|
|
6
|
+
delete(url: string): Promise<any>;
|
|
7
|
+
downloadFile(url: string): Promise<any>;
|
|
8
|
+
private handleResponseStreamData;
|
|
3
9
|
private resolveUrl;
|
|
10
|
+
private makeFileDownloadOptions;
|
|
4
11
|
private handleResponse;
|
|
5
12
|
private checkBadRequest;
|
|
6
13
|
private handleBadRequest;
|
|
7
14
|
private makeOptions;
|
|
15
|
+
private makeOptionsJson;
|
|
8
16
|
private buildAuthorizationHeaders;
|
|
9
17
|
}
|
|
10
18
|
export declare const httpClientV2: HttpClientServiceV2;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { BatchExportNodeTransport } from "../../interfaces/batch-export-node-transport";
|
|
2
|
+
import { StudioDataModelTransport } from "../../interfaces/package-manager.interfaces";
|
|
2
3
|
declare class DatamodelService {
|
|
3
4
|
static readonly INSTANCE: DatamodelService;
|
|
4
|
-
getDatamodelsForNodes(nodesListToExport: BatchExportNodeTransport[]): Promise<
|
|
5
|
+
getDatamodelsForNodes(nodesListToExport: BatchExportNodeTransport[]): Promise<Map<string, StudioDataModelTransport[]>>;
|
|
5
6
|
}
|
|
6
7
|
export declare const dataModelService: DatamodelService;
|
|
7
8
|
export {};
|
|
@@ -1,13 +1,30 @@
|
|
|
1
1
|
import { BatchExportNodeTransport } from "../../interfaces/batch-export-node-transport";
|
|
2
2
|
import { PackageDependencyTransport } from "../../interfaces/package-manager.interfaces";
|
|
3
|
+
import { ManifestNodeTransport } from "../../interfaces/manifest-transport";
|
|
3
4
|
declare class PackageService {
|
|
4
5
|
protected readonly fileDownloadedMessage = "File downloaded successfully. New filename: ";
|
|
5
6
|
listPackages(): Promise<void>;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
findAndExportListOfAllPackages(includeDependencies: boolean): Promise<void>;
|
|
8
|
+
batchImportPackages(spaceMappings: string[], exportedPackagesFile: string): Promise<void>;
|
|
9
|
+
private checkNodeForCircularDependency;
|
|
10
|
+
private importPackage;
|
|
11
|
+
private compareVersions;
|
|
12
|
+
private importPackageVersion;
|
|
13
|
+
private importDependencyPackages;
|
|
14
|
+
private checkIfPackageVersionHasBeenImported;
|
|
15
|
+
private createBodyForImport;
|
|
16
|
+
private getTargetSpaceForExportedPackage;
|
|
17
|
+
private updateDependencyVersions;
|
|
18
|
+
publishPackage(packageToImport: ManifestNodeTransport): Promise<void>;
|
|
19
|
+
batchExportPackages(packageKeys: string[], includeDependencies: boolean): Promise<void>;
|
|
20
|
+
getNodesWithActiveVersion(nodes: BatchExportNodeTransport[]): Promise<BatchExportNodeTransport[]>;
|
|
21
|
+
getPackagesWithDependencies(draftIdByNodeId: Map<string, string>, actionFlowPackageKeys: string[]): Promise<Map<string, PackageDependencyTransport[]>>;
|
|
22
|
+
private getDependencyPackages;
|
|
23
|
+
private nodeHasBeenResolvedBefore;
|
|
10
24
|
private exportListOfPackages;
|
|
25
|
+
private exportPackagesAndAssets;
|
|
26
|
+
private exportToZip;
|
|
27
|
+
private exportManifestOfPackages;
|
|
11
28
|
}
|
|
12
29
|
export declare const packageService: PackageService;
|
|
13
30
|
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BatchExportNodeTransport } from "../../interfaces/batch-export-node-transport";
|
|
2
|
+
import { SpaceTransport } from "../../interfaces/save-space.interface";
|
|
3
|
+
declare class SpaceService {
|
|
4
|
+
static readonly INSTANCE: SpaceService;
|
|
5
|
+
private allSpaces;
|
|
6
|
+
getParentSpaces(nodes: BatchExportNodeTransport[]): Promise<BatchExportNodeTransport[]>;
|
|
7
|
+
createSpace(spaceName: string, spaceIcon: string): Promise<SpaceTransport>;
|
|
8
|
+
getAllSpaces(): Promise<SpaceTransport[]>;
|
|
9
|
+
}
|
|
10
|
+
export declare const spaceService: SpaceService;
|
|
11
|
+
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PackageWithVariableAssignments } from "../../interfaces/package-manager.interfaces";
|
|
2
|
+
import { BatchExportNodeTransport } from "../../interfaces/batch-export-node-transport";
|
|
2
3
|
declare class VariableService {
|
|
3
|
-
|
|
4
|
+
getVariableAssignmentsForNodes(nodes: BatchExportNodeTransport[]): Promise<PackageWithVariableAssignments[]>;
|
|
4
5
|
}
|
|
5
6
|
export declare const variableService: VariableService;
|
|
6
7
|
export {};
|
package/package.json
CHANGED
package/services/file-service.js
CHANGED
|
@@ -4,19 +4,27 @@
|
|
|
4
4
|
if (v !== undefined) module.exports = v;
|
|
5
5
|
}
|
|
6
6
|
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports", "fs", "path"], factory);
|
|
7
|
+
define(["require", "exports", "fs", "path", "yaml"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
const fs = require("fs");
|
|
13
13
|
const path = require("path");
|
|
14
|
+
const YAML = require("yaml");
|
|
14
15
|
class FileService {
|
|
15
16
|
writeToFileWithGivenName(data, filename) {
|
|
16
17
|
fs.writeFileSync(path.resolve(process.cwd(), filename), this.getSerializedFileContent(data), {
|
|
17
18
|
encoding: "utf-8",
|
|
18
19
|
});
|
|
19
20
|
}
|
|
21
|
+
createDirectoryWithGivenName(dirName) {
|
|
22
|
+
fs.mkdirSync(path.resolve(process.cwd(), dirName));
|
|
23
|
+
}
|
|
24
|
+
readManifestFile(importedFileName) {
|
|
25
|
+
const manifest = YAML.parse(fs.readFileSync(path.resolve(importedFileName + "/manifest.yml"), { encoding: "utf-8" }));
|
|
26
|
+
return Promise.all(manifest);
|
|
27
|
+
}
|
|
20
28
|
getSerializedFileContent(data) {
|
|
21
29
|
return data;
|
|
22
30
|
}
|