@celonis/content-cli 0.4.10 → 0.5.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 +2 -2
- package/api/package-api.js +6 -2
- package/interfaces/package-manager.interfaces.js +7 -0
- package/lib/api/compute-pool-api.d.ts +2 -2
- package/lib/api/package-api.d.ts +2 -2
- package/lib/interfaces/batch-export-node-transport.d.ts +2 -2
- package/lib/interfaces/package-manager.interfaces.d.ts +8 -1
- package/lib/services/package-manager/datamodel-service.d.ts +5 -6
- package/lib/services/package-manager/variable-service.d.ts +2 -3
- package/package.json +1 -1
- package/services/package-manager/datamodel-service.js +10 -6
- package/services/package-manager/package-service.js +26 -25
- package/services/package-manager/variable-service.js +2 -2
package/api/compute-pool-api.js
CHANGED
|
@@ -20,9 +20,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
21
|
const http_client_service_v2_1 = require("../services/http-client-service.v2");
|
|
22
22
|
class ComputePoolApi {
|
|
23
|
-
|
|
23
|
+
findAllDataModelsDetails() {
|
|
24
24
|
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
-
return http_client_service_v2_1.httpClientV2.get(
|
|
25
|
+
return http_client_service_v2_1.httpClientV2.get("/package-manager/api/compute-pools/data-models/details")
|
|
26
26
|
.catch(e => {
|
|
27
27
|
return null;
|
|
28
28
|
});
|
package/api/package-api.js
CHANGED
|
@@ -38,9 +38,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
38
38
|
});
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
|
-
findAllPackagesWithVariableAssignments() {
|
|
41
|
+
findAllPackagesWithVariableAssignments(type) {
|
|
42
42
|
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
-
|
|
43
|
+
const queryParams = new URLSearchParams();
|
|
44
|
+
if (type) {
|
|
45
|
+
queryParams.set("type", type);
|
|
46
|
+
}
|
|
47
|
+
return http_client_service_v2_1.httpClientV2.get(`/package-manager/api/packages/with-variable-assignments?${queryParams.toString()}`).catch(e => {
|
|
44
48
|
throw new logger_1.FatalError(`Problem getting variables of packages: : ${e}`);
|
|
45
49
|
});
|
|
46
50
|
});
|
|
@@ -9,4 +9,11 @@
|
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
var PackageManagerVariableType;
|
|
13
|
+
(function (PackageManagerVariableType) {
|
|
14
|
+
PackageManagerVariableType["DATA_MODEL"] = "DATA_MODEL";
|
|
15
|
+
PackageManagerVariableType["CONNECTION"] = "CONNECTION";
|
|
16
|
+
PackageManagerVariableType["ASSIGNMENT_RULE"] = "ASSIGNMENT_RULE";
|
|
17
|
+
PackageManagerVariableType["PLAIN_TEXT"] = "PLAIN_TEXT";
|
|
18
|
+
})(PackageManagerVariableType = exports.PackageManagerVariableType || (exports.PackageManagerVariableType = {}));
|
|
12
19
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { StudioComputeNodeDescriptor } from "../interfaces/package-manager.interfaces";
|
|
2
2
|
declare class ComputePoolApi {
|
|
3
3
|
static readonly INSTANCE: ComputePoolApi;
|
|
4
|
-
|
|
4
|
+
findAllDataModelsDetails(): Promise<StudioComputeNodeDescriptor[]>;
|
|
5
5
|
}
|
|
6
6
|
export declare const computePoolApi: ComputePoolApi;
|
|
7
7
|
export {};
|
package/lib/api/package-api.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { ActivatePackageTransport, ContentNodeTransport, PackageHistoryTransport, PackageWithVariableAssignments } from "../interfaces/package-manager.interfaces";
|
|
2
|
+
import { ActivatePackageTransport, ContentNodeTransport, PackageHistoryTransport, PackageManagerVariableType, PackageWithVariableAssignments } from "../interfaces/package-manager.interfaces";
|
|
3
3
|
declare class PackageApi {
|
|
4
4
|
static readonly INSTANCE: PackageApi;
|
|
5
5
|
findAllPackages(): Promise<ContentNodeTransport[]>;
|
|
6
6
|
exportPackage(rootPackageKey: string, version?: string): Promise<Buffer>;
|
|
7
|
-
findAllPackagesWithVariableAssignments(): Promise<PackageWithVariableAssignments[]>;
|
|
7
|
+
findAllPackagesWithVariableAssignments(type: PackageManagerVariableType): Promise<PackageWithVariableAssignments[]>;
|
|
8
8
|
findLatestVersionById(nodeId: string): Promise<PackageHistoryTransport>;
|
|
9
9
|
findActiveVersionById(nodeId: string): Promise<PackageHistoryTransport>;
|
|
10
10
|
findActiveVersionByIds(nodeIds: string[]): Promise<PackageHistoryTransport[]>;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { ContentNodeTransport, PackageDependencyTransport, PackageHistoryTransport,
|
|
1
|
+
import { ContentNodeTransport, PackageDependencyTransport, PackageHistoryTransport, StudioComputeNodeDescriptor, VariablesAssignments } from "./package-manager.interfaces";
|
|
2
2
|
import { SpaceTransport } from "./save-space.interface";
|
|
3
3
|
export interface BatchExportNodeTransport extends ContentNodeTransport {
|
|
4
4
|
workingDraftId: string;
|
|
5
5
|
activatedDraftId: string;
|
|
6
6
|
version?: PackageHistoryTransport;
|
|
7
7
|
dependencies?: PackageDependencyTransport[];
|
|
8
|
-
datamodels?:
|
|
8
|
+
datamodels?: StudioComputeNodeDescriptor[];
|
|
9
9
|
variables?: VariablesAssignments[];
|
|
10
10
|
space?: SpaceTransport;
|
|
11
11
|
}
|
|
@@ -51,12 +51,18 @@ export interface VariablesAssignments {
|
|
|
51
51
|
}
|
|
52
52
|
export interface VariableDefinitionWithValue {
|
|
53
53
|
key: string;
|
|
54
|
-
type:
|
|
54
|
+
type: PackageManagerVariableType;
|
|
55
55
|
description?: string;
|
|
56
56
|
source?: string;
|
|
57
57
|
runtime?: boolean;
|
|
58
58
|
metadata?: object;
|
|
59
59
|
}
|
|
60
|
+
export declare enum PackageManagerVariableType {
|
|
61
|
+
DATA_MODEL = "DATA_MODEL",
|
|
62
|
+
CONNECTION = "CONNECTION",
|
|
63
|
+
ASSIGNMENT_RULE = "ASSIGNMENT_RULE",
|
|
64
|
+
PLAIN_TEXT = "PLAIN_TEXT"
|
|
65
|
+
}
|
|
60
66
|
export interface PackageHistoryTransport {
|
|
61
67
|
id: string;
|
|
62
68
|
key: string;
|
|
@@ -70,6 +76,7 @@ export interface StudioDataModelTransport {
|
|
|
70
76
|
export interface StudioComputeNodeDescriptor {
|
|
71
77
|
name: string;
|
|
72
78
|
dataModelId: string;
|
|
79
|
+
poolId: string;
|
|
73
80
|
}
|
|
74
81
|
export interface ComputePoolTransport {
|
|
75
82
|
id: string;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
getDatamodelsForNodes(nodesListToExport: BatchExportNodeTransport[]): Promise<Map<string, StudioDataModelTransport[]>>;
|
|
1
|
+
import { PackageWithVariableAssignments, StudioComputeNodeDescriptor } from "../../interfaces/package-manager.interfaces";
|
|
2
|
+
declare class DataModelService {
|
|
3
|
+
static readonly INSTANCE: DataModelService;
|
|
4
|
+
getDataModelDetailsForPackages(packagesWithDataModelVariables: PackageWithVariableAssignments[]): Promise<Map<string, StudioComputeNodeDescriptor[]>>;
|
|
6
5
|
}
|
|
7
|
-
export declare const dataModelService:
|
|
6
|
+
export declare const dataModelService: DataModelService;
|
|
8
7
|
export {};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { PackageWithVariableAssignments, VariablesAssignments } from "../../interfaces/package-manager.interfaces";
|
|
2
|
-
import { BatchExportNodeTransport } from "../../interfaces/batch-export-node-transport";
|
|
1
|
+
import { PackageManagerVariableType, PackageWithVariableAssignments, VariablesAssignments } from "../../interfaces/package-manager.interfaces";
|
|
3
2
|
declare class VariableService {
|
|
4
|
-
getVariableAssignmentsForNodes(
|
|
3
|
+
getVariableAssignmentsForNodes(type?: PackageManagerVariableType): Promise<PackageWithVariableAssignments[]>;
|
|
5
4
|
assignVariableValues(packageKey: string, variablesAssignments: VariablesAssignments[]): Promise<void>;
|
|
6
5
|
}
|
|
7
6
|
export declare const variableService: VariableService;
|
package/package.json
CHANGED
|
@@ -19,18 +19,22 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
19
19
|
"use strict";
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
21
|
const compute_pool_api_1 = require("../../api/compute-pool-api");
|
|
22
|
-
class
|
|
23
|
-
|
|
22
|
+
class DataModelService {
|
|
23
|
+
getDataModelDetailsForPackages(packagesWithDataModelVariables) {
|
|
24
|
+
var _a;
|
|
24
25
|
return __awaiter(this, void 0, void 0, function* () {
|
|
25
26
|
const dataModelsMap = new Map();
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
const allAvailableDataModels = yield compute_pool_api_1.computePoolApi.findAllDataModelsDetails();
|
|
28
|
+
for (const node of packagesWithDataModelVariables) {
|
|
29
|
+
const variablesOfPackage = (_a = packagesWithDataModelVariables.find(nodeWithVariablesAssignment => nodeWithVariablesAssignment.key === node.key)) === null || _a === void 0 ? void 0 : _a.variableAssignments;
|
|
30
|
+
const dataModelIds = variablesOfPackage.filter(variable => variable.value).map(variable => variable.value.toString());
|
|
31
|
+
const assignedDataModels = allAvailableDataModels.filter(dataModel => dataModelIds.includes(dataModel.dataModelId));
|
|
28
32
|
dataModelsMap.set(node.key, assignedDataModels);
|
|
29
33
|
}
|
|
30
34
|
return dataModelsMap;
|
|
31
35
|
});
|
|
32
36
|
}
|
|
33
37
|
}
|
|
34
|
-
|
|
35
|
-
exports.dataModelService =
|
|
38
|
+
DataModelService.INSTANCE = new DataModelService();
|
|
39
|
+
exports.dataModelService = DataModelService.INSTANCE;
|
|
36
40
|
});
|
|
@@ -13,7 +13,7 @@ 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", "../../util/logger", "../../api/package-api", "uuid", "../file-service", "./datamodel-service", "../../api/node-api", "../../api/package-dependencies-api", "./variable-service", "./space-service", "fs", "adm-zip", "path", "os", "../../util/semantic-versioning", "../../util/yaml"], factory);
|
|
16
|
+
define(["require", "exports", "../../util/logger", "../../api/package-api", "uuid", "../file-service", "./datamodel-service", "../../interfaces/package-manager.interfaces", "../../api/node-api", "../../api/package-dependencies-api", "./variable-service", "./space-service", "fs", "adm-zip", "path", "os", "../../util/semantic-versioning", "../../util/yaml"], factory);
|
|
17
17
|
}
|
|
18
18
|
})(function (require, exports) {
|
|
19
19
|
"use strict";
|
|
@@ -23,6 +23,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
23
23
|
const uuid_1 = require("uuid");
|
|
24
24
|
const file_service_1 = require("../file-service");
|
|
25
25
|
const datamodel_service_1 = require("./datamodel-service");
|
|
26
|
+
const package_manager_interfaces_1 = require("../../interfaces/package-manager.interfaces");
|
|
26
27
|
const node_api_1 = require("../../api/node-api");
|
|
27
28
|
const package_dependencies_api_1 = require("../../api/package-dependencies-api");
|
|
28
29
|
const variable_service_1 = require("./variable-service");
|
|
@@ -50,23 +51,20 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
50
51
|
const fieldsToInclude = ["key", "name", "changeDate", "activatedDraftId", "workingDraftId", "spaceId"];
|
|
51
52
|
let nodesListToExport = yield package_api_1.packageApi.findAllPackages();
|
|
52
53
|
if (packageKeys.length > 0) {
|
|
53
|
-
nodesListToExport = nodesListToExport.filter(node =>
|
|
54
|
-
return packageKeys.includes(node.rootNodeKey);
|
|
55
|
-
});
|
|
54
|
+
nodesListToExport = nodesListToExport.filter(node => packageKeys.includes(node.rootNodeKey));
|
|
56
55
|
}
|
|
57
56
|
if (includeDependencies) {
|
|
58
57
|
fieldsToInclude.push("type", "value", "dependencies", "id", "updateAvailable", "version", "poolId", "node", "dataModelId", "dataPool", "datamodels");
|
|
59
58
|
const packagesKeyWithActionFlows = (yield node_api_1.nodeApi.findAllNodesOfType("SCENARIO")).map(node => node.rootNodeKey);
|
|
60
|
-
nodesListToExport = nodesListToExport.filter(node =>
|
|
61
|
-
return !packagesKeyWithActionFlows.includes(node.rootNodeKey);
|
|
62
|
-
});
|
|
59
|
+
nodesListToExport = nodesListToExport.filter(node => !packagesKeyWithActionFlows.includes(node.rootNodeKey));
|
|
63
60
|
const unPublishedNodes = nodesListToExport.filter(node => !node.activatedDraftId);
|
|
64
61
|
let publishedNodes = nodesListToExport.filter(node => node.activatedDraftId);
|
|
65
62
|
publishedNodes = yield this.getNodesWithActiveVersion(publishedNodes);
|
|
66
63
|
nodesListToExport = [...publishedNodes, ...unPublishedNodes];
|
|
67
|
-
const
|
|
64
|
+
const packageWithDataModelVariableAssignments = yield variable_service_1.variableService.getVariableAssignmentsForNodes(package_manager_interfaces_1.PackageManagerVariableType.DATA_MODEL);
|
|
65
|
+
const dataModelDetailsByNode = yield datamodel_service_1.dataModelService.getDataModelDetailsForPackages(packageWithDataModelVariableAssignments);
|
|
68
66
|
nodesListToExport.forEach(node => {
|
|
69
|
-
node.datamodels =
|
|
67
|
+
node.datamodels = dataModelDetailsByNode.get(node.key);
|
|
70
68
|
});
|
|
71
69
|
const draftIdByNodeId = new Map();
|
|
72
70
|
nodesListToExport.forEach(node => draftIdByNodeId.set(node.workingDraftId, node.id));
|
|
@@ -91,13 +89,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
91
89
|
if (!overwrite) {
|
|
92
90
|
const allTargetPackages = yield package_api_1.packageApi.findAllPackages();
|
|
93
91
|
const manifestNodeKeys = manifestNodes.map(node => node.packageKey);
|
|
94
|
-
allTargetPackages
|
|
95
|
-
.filter(node => manifestNodeKeys.includes(node.key))
|
|
96
|
-
.
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
}
|
|
92
|
+
const packagesWithDraftChanges = allTargetPackages
|
|
93
|
+
.filter(node => manifestNodeKeys.includes(node.key) && node.workingDraftId !== node.activatedDraftId)
|
|
94
|
+
.map(node => node.key)
|
|
95
|
+
.join(", ");
|
|
96
|
+
if (!!packagesWithDraftChanges) {
|
|
97
|
+
throw new logger_1.FatalError(`Failed to import. Cannot overwrite packages with key(s) ${packagesWithDraftChanges}`);
|
|
98
|
+
}
|
|
101
99
|
}
|
|
102
100
|
let dmTargetIdsBySourceIds = new Map();
|
|
103
101
|
if (dataModelMappingsFilePath) {
|
|
@@ -176,7 +174,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
176
174
|
nodeInTargetTeam = yield node_api_1.nodeApi.findOneByKeyAndRootNodeKey(packageToImport.packageKey, packageToImport.packageKey);
|
|
177
175
|
if (this.isLatestVersion(versionOfPackageBeingImported, [...packageToImport.dependenciesByVersion.keys()])) {
|
|
178
176
|
const variableAssignments = packageToImport.variables
|
|
179
|
-
.filter(variable => variable.type ===
|
|
177
|
+
.filter(variable => variable.type === package_manager_interfaces_1.PackageManagerVariableType.DATA_MODEL).map(variable => {
|
|
180
178
|
var _a;
|
|
181
179
|
variable.value = dmTargetIdsBySourceIds.get((_a = variable.value) === null || _a === void 0 ? void 0 : _a.toString());
|
|
182
180
|
return variable;
|
|
@@ -305,14 +303,18 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
305
303
|
const dependencyPackages = yield this.getDependencyPackages(nodesListToExport, [], allPackages, actionFlowsPackageKeys, [], versionsByNodeKey);
|
|
306
304
|
nodesListToExport.push(...dependencyPackages);
|
|
307
305
|
}
|
|
308
|
-
const
|
|
306
|
+
const packagesWithVariableAssignments = yield variable_service_1.variableService.getVariableAssignmentsForNodes();
|
|
309
307
|
nodesListToExport.forEach(node => {
|
|
310
308
|
var _a;
|
|
311
|
-
node.variables = (_a =
|
|
309
|
+
node.variables = (_a = packagesWithVariableAssignments.find(nodeWithVariablesAssignment => nodeWithVariablesAssignment.key === node.key)) === null || _a === void 0 ? void 0 : _a.variableAssignments;
|
|
310
|
+
});
|
|
311
|
+
const packagesWithDataModelVariables = packagesWithVariableAssignments.map(packageWithVariablesAssignments => {
|
|
312
|
+
packageWithVariablesAssignments.variableAssignments = packageWithVariablesAssignments.variableAssignments.filter(variable => variable.value && variable.type === package_manager_interfaces_1.PackageManagerVariableType.DATA_MODEL);
|
|
313
|
+
return packageWithVariablesAssignments;
|
|
312
314
|
});
|
|
313
|
-
const
|
|
315
|
+
const dataModelDetailsByNode = yield datamodel_service_1.dataModelService.getDataModelDetailsForPackages(packagesWithDataModelVariables);
|
|
314
316
|
nodesListToExport.forEach(node => {
|
|
315
|
-
node.datamodels =
|
|
317
|
+
node.datamodels = dataModelDetailsByNode.get(node.key);
|
|
316
318
|
});
|
|
317
319
|
nodesListToExport = yield space_service_1.spaceService.getParentSpaces(nodesListToExport);
|
|
318
320
|
yield this.exportToZip(nodesListToExport, versionsByNodeKey);
|
|
@@ -422,15 +424,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
422
424
|
};
|
|
423
425
|
manifestNode.variables = (_b = node.variables) === null || _b === void 0 ? void 0 : _b.map((variable) => {
|
|
424
426
|
var _a;
|
|
425
|
-
if (variable.type ===
|
|
427
|
+
if (variable.type === package_manager_interfaces_1.PackageManagerVariableType.DATA_MODEL) {
|
|
426
428
|
// @ts-ignore
|
|
427
|
-
const dataModel = (_a = node.datamodels) === null || _a === void 0 ? void 0 : _a.find(dataModel => dataModel.
|
|
429
|
+
const dataModel = (_a = node.datamodels) === null || _a === void 0 ? void 0 : _a.find(dataModel => dataModel.dataModelId === variable.value);
|
|
428
430
|
return {
|
|
429
431
|
key: variable.key,
|
|
430
432
|
type: variable.type,
|
|
431
433
|
value: variable.value,
|
|
432
|
-
dataModelName: dataModel === null || dataModel === void 0 ? void 0 : dataModel.
|
|
433
|
-
dataPoolName: dataModel === null || dataModel === void 0 ? void 0 : dataModel.dataPool.name
|
|
434
|
+
dataModelName: dataModel === null || dataModel === void 0 ? void 0 : dataModel.name,
|
|
434
435
|
};
|
|
435
436
|
}
|
|
436
437
|
return variable;
|
|
@@ -21,9 +21,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
21
21
|
const package_api_1 = require("../../api/package-api");
|
|
22
22
|
const variables_api_1 = require("../../api/variables-api");
|
|
23
23
|
class VariableService {
|
|
24
|
-
getVariableAssignmentsForNodes(
|
|
24
|
+
getVariableAssignmentsForNodes(type) {
|
|
25
25
|
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
-
return yield package_api_1.packageApi.findAllPackagesWithVariableAssignments();
|
|
26
|
+
return yield package_api_1.packageApi.findAllPackagesWithVariableAssignments(type);
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
29
|
assignVariableValues(packageKey, variablesAssignments) {
|