@celonis/content-cli 0.4.11 → 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.
@@ -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
- findAssignedDatamodels(packageKey) {
23
+ findAllDataModelsDetails() {
24
24
  return __awaiter(this, void 0, void 0, function* () {
25
- return http_client_service_v2_1.httpClientV2.get(`/package-manager/api/compute-pools/data-models/assigned?packageKey=${packageKey}`)
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
  });
@@ -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
- return http_client_service_v2_1.httpClientV2.get("/package-manager/api/packages/with-variable-assignments").catch(e => {
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 { StudioDataModelTransport } from "../interfaces/package-manager.interfaces";
1
+ import { StudioComputeNodeDescriptor } from "../interfaces/package-manager.interfaces";
2
2
  declare class ComputePoolApi {
3
3
  static readonly INSTANCE: ComputePoolApi;
4
- findAssignedDatamodels(packageKey: string): Promise<StudioDataModelTransport[]>;
4
+ findAllDataModelsDetails(): Promise<StudioComputeNodeDescriptor[]>;
5
5
  }
6
6
  export declare const computePoolApi: ComputePoolApi;
7
7
  export {};
@@ -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, StudioDataModelTransport, VariablesAssignments } from "./package-manager.interfaces";
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?: StudioDataModelTransport[];
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: string;
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 { BatchExportNodeTransport } from "../../interfaces/batch-export-node-transport";
2
- import { StudioDataModelTransport } from "../../interfaces/package-manager.interfaces";
3
- declare class DatamodelService {
4
- static readonly INSTANCE: DatamodelService;
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: 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(nodes: BatchExportNodeTransport[]): Promise<PackageWithVariableAssignments[]>;
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@celonis/content-cli",
3
- "version": "0.4.11",
3
+ "version": "0.5.0",
4
4
  "description": "CLI Tool to help manage content in Celonis EMS",
5
5
  "main": "content-cli.js",
6
6
  "bin": {
@@ -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 DatamodelService {
23
- getDatamodelsForNodes(nodesListToExport) {
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
- for (const node of nodesListToExport) {
27
- const assignedDataModels = yield compute_pool_api_1.computePoolApi.findAssignedDatamodels(node.key);
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
- DatamodelService.INSTANCE = new DatamodelService();
35
- exports.dataModelService = DatamodelService.INSTANCE;
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 dataModelAssignments = yield datamodel_service_1.dataModelService.getDatamodelsForNodes(nodesListToExport);
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 = dataModelAssignments.get(node.key);
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));
@@ -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 === "DATA_MODEL").map(variable => {
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 variableAssignments = yield variable_service_1.variableService.getVariableAssignmentsForNodes(nodesListToExport);
306
+ const packagesWithVariableAssignments = yield variable_service_1.variableService.getVariableAssignmentsForNodes();
309
307
  nodesListToExport.forEach(node => {
310
308
  var _a;
311
- node.variables = (_a = variableAssignments.find(nodeWithVariablesAssignment => nodeWithVariablesAssignment.key === node.key)) === null || _a === void 0 ? void 0 : _a.variableAssignments;
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 dataModelAssignments = yield datamodel_service_1.dataModelService.getDatamodelsForNodes(nodesListToExport);
315
+ const dataModelDetailsByNode = yield datamodel_service_1.dataModelService.getDataModelDetailsForPackages(packagesWithDataModelVariables);
314
316
  nodesListToExport.forEach(node => {
315
- node.datamodels = dataModelAssignments.get(node.key);
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 === "DATA_MODEL") {
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.node.dataModelId === variable.value);
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.node.name,
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(nodes) {
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) {