@celonis/content-cli 1.0.5 → 1.0.7

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.
@@ -67,6 +67,25 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
67
67
  });
68
68
  });
69
69
  }
70
+ exportPackagesByVersions(packageKeysWithVersion, withDependencies = false) {
71
+ return __awaiter(this, void 0, void 0, function* () {
72
+ const queryParams = new URLSearchParams();
73
+ packageKeysWithVersion.forEach(packageKeyByVersion => queryParams.append("packageKeysWithVersion", packageKeyByVersion));
74
+ queryParams.set("withDependencies", withDependencies.toString());
75
+ return this.httpClient().getFile(`/package-manager/api/core/packages/versions/export/batch?${queryParams.toString()}`).catch(e => {
76
+ throw new logger_1.FatalError(`Problem exporting packages by versions: ${e}`);
77
+ });
78
+ });
79
+ }
80
+ batchExportPackagesMetadata(packageKeys) {
81
+ return __awaiter(this, void 0, void 0, function* () {
82
+ const queryParams = new URLSearchParams();
83
+ packageKeys.forEach(packageKey => queryParams.append("packageKeys", packageKey));
84
+ return this.httpClient().get(`/package-manager/api/core/packages/metadata/export?${queryParams.toString()}`).catch(e => {
85
+ throw new logger_1.FatalError(`Problem exporting packages metadata: ${e}`);
86
+ });
87
+ });
88
+ }
70
89
  importPackages(data, overwrite) {
71
90
  return __awaiter(this, void 0, void 0, function* () {
72
91
  return this.httpClient().postFile("/package-manager/api/core/packages/import/batch", data, { overwrite });
@@ -57,9 +57,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
57
57
  this.exportListOfPackages(packagesToExport);
58
58
  });
59
59
  }
60
- batchExportPackages(packageKeys, withDependencies = false) {
60
+ batchExportPackages(packageKeys, packageKeysByVersion, withDependencies = false) {
61
61
  return __awaiter(this, void 0, void 0, function* () {
62
- const exportedPackagesData = yield this.batchImportExportApi.exportPackages(packageKeys, withDependencies);
62
+ let exportedPackagesData;
63
+ if (packageKeys) {
64
+ exportedPackagesData = yield this.batchImportExportApi.exportPackages(packageKeys, withDependencies);
65
+ }
66
+ else {
67
+ exportedPackagesData = yield this.batchImportExportApi.exportPackagesByVersions(packageKeysByVersion, withDependencies);
68
+ }
63
69
  const exportedPackagesZip = new AdmZip(exportedPackagesData);
64
70
  const manifest = (0, json_1.parse)(exportedPackagesZip.getEntry(batch_export_import_constants_1.BatchExportImportConstants.MANIFEST_FILE_NAME).getData().toString());
65
71
  const versionsByPackageKey = this.getVersionsByPackageKey(manifest);
@@ -86,6 +92,19 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
86
92
  logger_1.logger.info(fileDownloadedMessage + filename);
87
93
  });
88
94
  }
95
+ batchExportPackagesMetadata(packageKeys, jsonResponse) {
96
+ return __awaiter(this, void 0, void 0, function* () {
97
+ const exportedPackagesMetadata = yield this.batchImportExportApi.batchExportPackagesMetadata(packageKeys);
98
+ if (jsonResponse) {
99
+ this.exportListOfPackagesMetadata(exportedPackagesMetadata);
100
+ }
101
+ else {
102
+ exportedPackagesMetadata.forEach(pkg => {
103
+ logger_1.logger.info(`${pkg.key} - Has Unpublished Changes: ${pkg.hasUnpublishedChanges}`);
104
+ });
105
+ }
106
+ });
107
+ }
89
108
  batchImportPackages(file, overwrite) {
90
109
  return __awaiter(this, void 0, void 0, function* () {
91
110
  let configs = new AdmZip(file);
@@ -140,6 +159,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
140
159
  });
141
160
  return this.batchImportExportApi.findVariablesWithValuesByPackageKeysAndVersion(variableExportRequest);
142
161
  }
162
+ exportListOfPackagesMetadata(packagesMetadata) {
163
+ const filename = (0, uuid_1.v4)() + ".json";
164
+ file_service_1.fileService.writeToFileWithGivenName(JSON.stringify(packagesMetadata), filename);
165
+ logger_1.logger.info(file_service_1.FileService.fileDownloadedMessage + filename);
166
+ }
143
167
  buildBodyForImport(configs, variablesManifests) {
144
168
  const formData = new FormData();
145
169
  const readableStream = this.getReadableStream(configs);
@@ -52,8 +52,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
52
52
  }
53
53
  });
54
54
  }
55
- batchExportPackages(packageKeys, withDependencies = false) {
56
- return this.batchImportExportService.batchExportPackages(packageKeys, withDependencies);
55
+ batchExportPackages(packageKeys, packageKeysByVersion, withDependencies = false) {
56
+ return this.batchImportExportService.batchExportPackages(packageKeys, packageKeysByVersion, withDependencies);
57
+ }
58
+ batchExportPackagesMetadata(packageKeys, jsonResponse) {
59
+ return this.batchImportExportService.batchExportPackagesMetadata(packageKeys, jsonResponse);
57
60
  }
58
61
  batchImportPackages(file, overwrite) {
59
62
  return this.batchImportExportService.batchImportPackages(file, overwrite);
@@ -37,9 +37,18 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
37
37
  .action(this.listActivePackages);
38
38
  configCommand.command("export")
39
39
  .description("Command to export package configs")
40
- .requiredOption("--packageKeys <packageKeys...>", "Keys of packages to export")
40
+ .option("--packageKeys <packageKeys...>", "Keys of packages to export. Exports the latest deployed version only")
41
+ .option("--keysByVersion <keysByVersion...>", "Keys of packages to export by version")
41
42
  .option("--withDependencies", "Include variables and dependencies", "")
42
43
  .action(this.batchExportPackages);
44
+ const metadataCommand = configCommand.command("metadata")
45
+ .description("Commands related to package metadata");
46
+ metadataCommand
47
+ .command("export")
48
+ .description("Command to show whether packages have unpublished changes")
49
+ .requiredOption("--packageKeys <packageKeys...>", "Keys of packages to find the metadata of")
50
+ .option("--json", "Return response as json type", "")
51
+ .action(this.batchExportPackagesMetadata);
43
52
  configCommand.command("import")
44
53
  .description("Command to import package configs")
45
54
  .option("--overwrite", "Flag to allow overwriting of packages")
@@ -74,7 +83,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
74
83
  }
75
84
  batchExportPackages(context, command, options) {
76
85
  return __awaiter(this, void 0, void 0, function* () {
77
- yield new config_command_service_1.ConfigCommandService(context).batchExportPackages(options.packageKeys, options.withDependencies);
86
+ if ((options.packageKeys && options.keysByVersion) || (!options.packageKeys && !options.keysByVersion)) {
87
+ throw new Error("Please provide either --packageKeys or --keysByVersion, but not both.");
88
+ }
89
+ yield new config_command_service_1.ConfigCommandService(context).batchExportPackages(options.packageKeys, options.keysByVersion, options.withDependencies);
90
+ });
91
+ }
92
+ batchExportPackagesMetadata(context, command, options) {
93
+ return __awaiter(this, void 0, void 0, function* () {
94
+ yield new config_command_service_1.ConfigCommandService(context).batchExportPackagesMetadata(options.packageKeys, options.json);
78
95
  });
79
96
  }
80
97
  batchImportPackages(context, command, options) {
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import * as FormData from "form-data";
3
- import { PackageExportTransport, PackageKeyAndVersionPair, PostPackageImportData, VariableManifestTransport } from "../interfaces/package-export.interfaces";
3
+ import { PackageExportTransport, PackageKeyAndVersionPair, PackageMetadataExportTransport, PostPackageImportData, VariableManifestTransport } from "../interfaces/package-export.interfaces";
4
4
  import { Context } from "../../../core/command/cli-context";
5
5
  export declare class BatchImportExportApi {
6
6
  private httpClient;
@@ -9,6 +9,8 @@ export declare class BatchImportExportApi {
9
9
  findActivePackagesByVariableValue(flavors: string[], variableValue: string, variableType: string): Promise<PackageExportTransport[]>;
10
10
  findActivePackagesByKeys(packageKeys: string[], withDependencies?: boolean): Promise<PackageExportTransport[]>;
11
11
  exportPackages(packageKeys: string[], withDependencies?: boolean): Promise<Buffer>;
12
+ exportPackagesByVersions(packageKeysWithVersion: string[], withDependencies?: boolean): Promise<Buffer>;
13
+ batchExportPackagesMetadata(packageKeys: string[]): Promise<PackageMetadataExportTransport[]>;
12
14
  importPackages(data: FormData, overwrite: boolean): Promise<PostPackageImportData[]>;
13
15
  findVariablesWithValuesByPackageKeysAndVersion(packagesByKeyAndVersion: PackageKeyAndVersionPair[]): Promise<VariableManifestTransport[]>;
14
16
  }
@@ -6,13 +6,15 @@ export declare class BatchImportExportService {
6
6
  constructor(context: Context);
7
7
  listActivePackages(flavors: string[]): Promise<void>;
8
8
  findAndExportListOfActivePackages(flavors: string[], packageKeys: string[], withDependencies: boolean): Promise<void>;
9
- batchExportPackages(packageKeys: string[], withDependencies?: boolean): Promise<void>;
9
+ batchExportPackages(packageKeys: string[], packageKeysByVersion: string[], withDependencies?: boolean): Promise<void>;
10
+ batchExportPackagesMetadata(packageKeys: string[], jsonResponse: boolean): Promise<void>;
10
11
  batchImportPackages(file: string, overwrite: boolean): Promise<void>;
11
12
  findAndExportListOfActivePackagesByVariableValue(flavors: string[], variableValue: string, variableType: string): Promise<void>;
12
13
  listActivePackagesByVariableValue(flavors: string[], variableValue: string, variableType: string): Promise<void>;
13
14
  private exportListOfPackages;
14
15
  private getVersionsByPackageKey;
15
16
  private getVersionedVariablesForPackagesWithKeys;
17
+ private exportListOfPackagesMetadata;
16
18
  private buildBodyForImport;
17
19
  private getReadableStream;
18
20
  private parseEntryData;
@@ -6,7 +6,8 @@ export declare class ConfigCommandService {
6
6
  constructor(context: Context);
7
7
  listActivePackages(jsonResponse: boolean, flavors: string[], withDependencies: boolean, packageKeys: string[], variableValue: string, variableType: string): Promise<void>;
8
8
  listVariables(jsonResponse: boolean, keysByVersion: string[], keysByVersionFile: string): Promise<void>;
9
- batchExportPackages(packageKeys: string[], withDependencies?: boolean): Promise<void>;
9
+ batchExportPackages(packageKeys: string[], packageKeysByVersion: string[], withDependencies?: boolean): Promise<void>;
10
+ batchExportPackagesMetadata(packageKeys: string[], jsonResponse: boolean): Promise<void>;
10
11
  batchImportPackages(file: string, overwrite: boolean): Promise<void>;
11
12
  diffPackages(file: string, hasChanges: boolean, jsonResponse: boolean): Promise<void>;
12
13
  private listPackagesByVariableValue;
@@ -18,6 +18,10 @@ export interface PackageExportTransport {
18
18
  spaceId?: string;
19
19
  datamodels?: StudioComputeNodeDescriptor[];
20
20
  }
21
+ export interface PackageMetadataExportTransport {
22
+ key: string;
23
+ hasUnpublishedChanges: boolean;
24
+ }
21
25
  export interface PackageManifestTransport {
22
26
  packageKey: string;
23
27
  flavor: string;
@@ -7,6 +7,7 @@ declare class Module extends IModule {
7
7
  register(context: Context, configurator: Configurator): void;
8
8
  private listActivePackages;
9
9
  private batchExportPackages;
10
+ private batchExportPackagesMetadata;
10
11
  private batchImportPackages;
11
12
  private diffPackages;
12
13
  private listVariables;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@celonis/content-cli",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "CLI Tool to help manage content in Celonis Platform",
5
5
  "main": "content-cli.js",
6
6
  "bin": {