@celonis/content-cli 0.6.1 → 0.7.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/batch-import-export-api.js +35 -0
- package/api/package-api.js +5 -3
- package/commands/config.command.js +36 -0
- package/commands/package.command.js +4 -4
- package/content-cli-config.js +60 -0
- package/content-cli-export.js +3 -1
- package/content-cli-import.js +2 -1
- package/content-cli.js +1 -0
- package/interfaces/package-export-transport.js +12 -0
- package/lib/api/batch-import-export-api.d.ts +8 -0
- package/lib/api/package-api.d.ts +2 -2
- package/lib/commands/config.command.d.ts +3 -0
- package/lib/commands/package.command.d.ts +2 -2
- package/lib/content-cli-config.d.ts +6 -0
- package/lib/interfaces/package-export-transport.d.ts +18 -0
- package/lib/interfaces/package-manager.interfaces.d.ts +1 -0
- package/lib/services/package-manager/batch-import-export-service.d.ts +7 -0
- package/lib/services/package-manager/package-service.d.ts +3 -3
- package/lib/services/studio/studio.service.d.ts +8 -0
- package/package.json +1 -1
- package/services/package-manager/batch-import-export-service.js +56 -0
- package/services/package-manager/package-service.js +21 -28
- package/services/studio/studio.service.js +58 -0
|
@@ -0,0 +1,35 @@
|
|
|
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", "../services/http-client-service.v2", "../util/logger"], factory);
|
|
8
|
+
}
|
|
9
|
+
})(function (require, exports) {
|
|
10
|
+
"use strict";
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.batchImportExportApi = void 0;
|
|
13
|
+
const http_client_service_v2_1 = require("../services/http-client-service.v2");
|
|
14
|
+
const logger_1 = require("../util/logger");
|
|
15
|
+
class BatchImportExportApi {
|
|
16
|
+
findAllActivePackages(flavors, withDependencies = false) {
|
|
17
|
+
const queryParams = new URLSearchParams();
|
|
18
|
+
queryParams.set("withDependencies", withDependencies.toString());
|
|
19
|
+
flavors.forEach(flavor => queryParams.append("flavors", flavor));
|
|
20
|
+
return http_client_service_v2_1.httpClientV2.get(`/package-manager/api/core/packages/export/list?${queryParams.toString()}`).catch(e => {
|
|
21
|
+
throw new logger_1.FatalError(`Problem getting active packages: ${e}`);
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
findActivePackagesByKeys(packageKeys, withDependencies = false) {
|
|
25
|
+
const queryParams = new URLSearchParams();
|
|
26
|
+
packageKeys.forEach(key => queryParams.append("packageKeys", key));
|
|
27
|
+
queryParams.set("withDependencies", withDependencies.toString());
|
|
28
|
+
return http_client_service_v2_1.httpClientV2.get(`/package-manager/api/core/packages/export/list-by-keys?${queryParams.toString()}`).catch(e => {
|
|
29
|
+
throw new logger_1.FatalError(`Problem getting active packages by keys: ${e}`);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
BatchImportExportApi.INSTANCE = new BatchImportExportApi();
|
|
34
|
+
exports.batchImportExportApi = BatchImportExportApi.INSTANCE;
|
|
35
|
+
});
|
package/api/package-api.js
CHANGED
|
@@ -29,11 +29,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
29
29
|
});
|
|
30
30
|
});
|
|
31
31
|
}
|
|
32
|
-
exportPackage(rootPackageKey, version) {
|
|
32
|
+
exportPackage(rootPackageKey, version, excludeActionFlows) {
|
|
33
33
|
return __awaiter(this, void 0, void 0, function* () {
|
|
34
34
|
const queryParams = new URLSearchParams();
|
|
35
35
|
queryParams.set("newKey", rootPackageKey);
|
|
36
36
|
queryParams.set("version", version !== null && version !== void 0 ? version : "");
|
|
37
|
+
queryParams.set("excludeActionFlows", excludeActionFlows ? "true" : "false");
|
|
37
38
|
return yield http_client_service_v2_1.httpClientV2.downloadFile(`/package-manager/api/packages/${rootPackageKey}/export?${queryParams.toString()}`).catch(e => {
|
|
38
39
|
throw new logger_1.FatalError(`Pacakge ${rootPackageKey}_${version} failed to export.`);
|
|
39
40
|
});
|
|
@@ -78,11 +79,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
78
79
|
});
|
|
79
80
|
});
|
|
80
81
|
}
|
|
81
|
-
importPackage(nodeContent, spaceId, overwrite) {
|
|
82
|
+
importPackage(nodeContent, spaceId, overwrite, excludeActionFlows) {
|
|
82
83
|
return __awaiter(this, void 0, void 0, function* () {
|
|
83
84
|
yield http_client_service_v2_1.httpClientV2.postFile("/package-manager/api/packages/import", nodeContent, {
|
|
84
85
|
spaceId: spaceId,
|
|
85
|
-
overwrite: overwrite
|
|
86
|
+
overwrite: overwrite,
|
|
87
|
+
excludeActionFlows: excludeActionFlows
|
|
86
88
|
}).catch(e => {
|
|
87
89
|
throw new logger_1.FatalError(`Problem importing package: ${e}`);
|
|
88
90
|
});
|
|
@@ -0,0 +1,36 @@
|
|
|
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/package-manager/batch-import-export-service"], factory);
|
|
17
|
+
}
|
|
18
|
+
})(function (require, exports) {
|
|
19
|
+
"use strict";
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.ConfigCommand = void 0;
|
|
22
|
+
const batch_import_export_service_1 = require("../services/package-manager/batch-import-export-service");
|
|
23
|
+
class ConfigCommand {
|
|
24
|
+
listActivePackages(jsonResponse, flavors, withDependencies, packageKeys) {
|
|
25
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
+
if (jsonResponse) {
|
|
27
|
+
yield batch_import_export_service_1.batchImportExportService.findAndExportListOfActivePackages(flavors !== null && flavors !== void 0 ? flavors : [], packageKeys !== null && packageKeys !== void 0 ? packageKeys : [], withDependencies);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
yield batch_import_export_service_1.batchImportExportService.listActivePackages(flavors !== null && flavors !== void 0 ? flavors : []);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.ConfigCommand = ConfigCommand;
|
|
36
|
+
});
|
|
@@ -52,14 +52,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
52
52
|
}
|
|
53
53
|
});
|
|
54
54
|
}
|
|
55
|
-
batchExportPackages(packageKeys, includeDependencies) {
|
|
55
|
+
batchExportPackages(packageKeys, includeDependencies, excludeActionFlows) {
|
|
56
56
|
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
-
yield package_service_1.packageService.batchExportPackages(packageKeys, includeDependencies);
|
|
57
|
+
yield package_service_1.packageService.batchExportPackages(packageKeys, includeDependencies, excludeActionFlows);
|
|
58
58
|
});
|
|
59
59
|
}
|
|
60
|
-
batchImportPackages(spaceMappings, dataModelMappingsFilePath, exportedPackagesFile, overwrite) {
|
|
60
|
+
batchImportPackages(spaceMappings, dataModelMappingsFilePath, exportedPackagesFile, overwrite, excludeActionFlows) {
|
|
61
61
|
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
-
yield package_service_1.packageService.batchImportPackages(spaceMappings !== null && spaceMappings !== void 0 ? spaceMappings : [], dataModelMappingsFilePath, exportedPackagesFile, overwrite);
|
|
62
|
+
yield package_service_1.packageService.batchImportPackages(spaceMappings !== null && spaceMappings !== void 0 ? spaceMappings : [], dataModelMappingsFilePath, exportedPackagesFile, overwrite, excludeActionFlows);
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
65
|
}
|
|
@@ -0,0 +1,60 @@
|
|
|
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/config.command", "commander", "./util/logger", "./util/context-initializer"], factory);
|
|
17
|
+
}
|
|
18
|
+
})(function (require, exports) {
|
|
19
|
+
"use strict";
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.Config = void 0;
|
|
22
|
+
const config_command_1 = require("./commands/config.command");
|
|
23
|
+
const commander = require("commander");
|
|
24
|
+
const logger_1 = require("./util/logger");
|
|
25
|
+
const context_initializer_1 = require("./util/context-initializer");
|
|
26
|
+
class Config {
|
|
27
|
+
static list(program) {
|
|
28
|
+
program
|
|
29
|
+
.command("list")
|
|
30
|
+
.description("Command to list active packages that can be exported")
|
|
31
|
+
.option("-p, --profile <profile>", "Profile which you want to use to list possible variable assignments")
|
|
32
|
+
.option("--json", "Return response as json type", "")
|
|
33
|
+
.option("--flavors <flavors...>", "Lists only active packages of the given flavors")
|
|
34
|
+
.option("--withDependencies", "Include dependencies", "")
|
|
35
|
+
.option("--packageKeys <packageKeys...>", "Lists only given package keys")
|
|
36
|
+
.action((cmd) => __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
yield new config_command_1.ConfigCommand().listActivePackages(cmd.json, cmd.flavors, cmd.withDependencies, cmd.packageKeys);
|
|
38
|
+
process.exit();
|
|
39
|
+
}));
|
|
40
|
+
return program;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.Config = Config;
|
|
44
|
+
process.on("unhandledRejection", (e, promise) => {
|
|
45
|
+
logger_1.logger.error(e.toString());
|
|
46
|
+
});
|
|
47
|
+
const loadAllCommands = () => {
|
|
48
|
+
Config.list(commander);
|
|
49
|
+
commander.parse(process.argv);
|
|
50
|
+
};
|
|
51
|
+
context_initializer_1.ContextInitializer.initContext()
|
|
52
|
+
.then(loadAllCommands)
|
|
53
|
+
.catch(e => {
|
|
54
|
+
logger_1.logger.error(e);
|
|
55
|
+
});
|
|
56
|
+
if (!process.argv.slice(2).length) {
|
|
57
|
+
commander.outputHelp();
|
|
58
|
+
process.exit(1);
|
|
59
|
+
}
|
|
60
|
+
});
|
package/content-cli-export.js
CHANGED
|
@@ -32,8 +32,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
32
32
|
.option("-p, --profile <profile>", "Profile which you want to use to list packages")
|
|
33
33
|
.requiredOption("--packageKeys <packageKeys...>", "Exports only given package keys")
|
|
34
34
|
.option("--includeDependencies", "Include variables and dependencies", "")
|
|
35
|
+
.option("--excludeActionFlows", "Don't export action flows")
|
|
35
36
|
.action((cmd) => __awaiter(this, void 0, void 0, function* () {
|
|
36
|
-
|
|
37
|
+
var _a;
|
|
38
|
+
yield new package_command_1.PackageCommand().batchExportPackages(cmd.packageKeys, cmd.includeDependencies, (_a = cmd.excludeActionFlows) !== null && _a !== void 0 ? _a : false);
|
|
37
39
|
process.exit();
|
|
38
40
|
}));
|
|
39
41
|
return program;
|
package/content-cli-import.js
CHANGED
|
@@ -32,10 +32,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
32
32
|
.option("-p, --profile <profile>", "Profile which you want to use to list packages")
|
|
33
33
|
.option("--spaceMappings <spaceMappings...>", "List of mappings for importing packages to different target spaces. Mappings should follow format 'packageKey:targetSpaceKey'")
|
|
34
34
|
.option("--overwrite", "Flag to allow overwriting of packages")
|
|
35
|
+
.option("--excludeActionFlows", "Skip overwrite of action flows of package")
|
|
35
36
|
.option("--dataModelMappingsFile <dataModelMappingsFile>", "DataModel variable mappings file path. If missing, variables will be mapped from manifest file.")
|
|
36
37
|
.requiredOption("-f, --file <file>", "Exported packages file (relative path)")
|
|
37
38
|
.action((cmd) => __awaiter(this, void 0, void 0, function* () {
|
|
38
|
-
yield new package_command_1.PackageCommand().batchImportPackages(cmd.spaceMappings, cmd.dataModelMappingsFile, cmd.file, cmd.overwrite);
|
|
39
|
+
yield new package_command_1.PackageCommand().batchImportPackages(cmd.spaceMappings, cmd.dataModelMappingsFile, cmd.file, cmd.overwrite, cmd.excludeActionFlows);
|
|
39
40
|
process.exit();
|
|
40
41
|
}));
|
|
41
42
|
return program;
|
package/content-cli.js
CHANGED
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
program.command("list", "Commands to list content.").alias("ls");
|
|
29
29
|
program.command("get", "Commands to get configuration properties.");
|
|
30
30
|
program.command("set", "Commands to set configuration properties.");
|
|
31
|
+
program.command("config", "Commands related to config management");
|
|
31
32
|
program.version(version_1.VersionUtils.getCurrentCliVersion());
|
|
32
33
|
program.parse(process.argv);
|
|
33
34
|
if (!process.argv.slice(2).length) {
|
|
@@ -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,8 @@
|
|
|
1
|
+
import { PackageExportTransport } from "../interfaces/package-export-transport";
|
|
2
|
+
declare class BatchImportExportApi {
|
|
3
|
+
static readonly INSTANCE: BatchImportExportApi;
|
|
4
|
+
findAllActivePackages(flavors: string[], withDependencies?: boolean): Promise<PackageExportTransport[]>;
|
|
5
|
+
findActivePackagesByKeys(packageKeys: string[], withDependencies?: boolean): Promise<PackageExportTransport[]>;
|
|
6
|
+
}
|
|
7
|
+
export declare const batchImportExportApi: BatchImportExportApi;
|
|
8
|
+
export {};
|
package/lib/api/package-api.d.ts
CHANGED
|
@@ -3,13 +3,13 @@ import { ActivatePackageTransport, ContentNodeTransport, PackageHistoryTransport
|
|
|
3
3
|
declare class PackageApi {
|
|
4
4
|
static readonly INSTANCE: PackageApi;
|
|
5
5
|
findAllPackages(): Promise<ContentNodeTransport[]>;
|
|
6
|
-
exportPackage(rootPackageKey: string, version?: string): Promise<Buffer>;
|
|
6
|
+
exportPackage(rootPackageKey: string, version?: string, excludeActionFlows?: boolean): Promise<Buffer>;
|
|
7
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[]>;
|
|
11
11
|
findNextVersion(nodeId: string): Promise<PackageHistoryTransport>;
|
|
12
|
-
importPackage(nodeContent: any, spaceId: string, overwrite: boolean): Promise<any>;
|
|
12
|
+
importPackage(nodeContent: any, spaceId: string, overwrite: boolean, excludeActionFlows?: boolean): Promise<any>;
|
|
13
13
|
movePackageToSpace(nodeId: string, spaceId: string): Promise<void>;
|
|
14
14
|
publishPackage(activatePackage: ActivatePackageTransport): Promise<void>;
|
|
15
15
|
}
|
|
@@ -5,6 +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, packageKeys: string[]): Promise<void>;
|
|
8
|
-
batchExportPackages(packageKeys: string[], includeDependencies: boolean): Promise<void>;
|
|
9
|
-
batchImportPackages(spaceMappings: string[], dataModelMappingsFilePath: string, exportedPackagesFile: string, overwrite: boolean): Promise<void>;
|
|
8
|
+
batchExportPackages(packageKeys: string[], includeDependencies: boolean, excludeActionFlows?: boolean): Promise<void>;
|
|
9
|
+
batchImportPackages(spaceMappings: string[], dataModelMappingsFilePath: string, exportedPackagesFile: string, overwrite: boolean, excludeActionFlows?: boolean): Promise<void>;
|
|
10
10
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { StudioComputeNodeDescriptor } from "./package-manager.interfaces";
|
|
2
|
+
export interface DependencyTransport {
|
|
3
|
+
key: string;
|
|
4
|
+
version: string;
|
|
5
|
+
}
|
|
6
|
+
export interface PackageExportTransport {
|
|
7
|
+
id: string;
|
|
8
|
+
key: string;
|
|
9
|
+
name: string;
|
|
10
|
+
changeDate: string;
|
|
11
|
+
activatedDraftId: string;
|
|
12
|
+
workingDraftId: string;
|
|
13
|
+
flavor: string;
|
|
14
|
+
version: string;
|
|
15
|
+
dependencies: DependencyTransport[];
|
|
16
|
+
spaceId?: string;
|
|
17
|
+
datamodels?: StudioComputeNodeDescriptor[];
|
|
18
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
declare class BatchImportExportService {
|
|
2
|
+
listActivePackages(flavors: string[]): Promise<void>;
|
|
3
|
+
findAndExportListOfActivePackages(flavors: string[], packageKeys: string[], withDependencies: boolean): Promise<void>;
|
|
4
|
+
private exportListOfPackages;
|
|
5
|
+
}
|
|
6
|
+
export declare const batchImportExportService: BatchImportExportService;
|
|
7
|
+
export {};
|
|
@@ -5,7 +5,7 @@ declare class PackageService {
|
|
|
5
5
|
protected readonly fileDownloadedMessage = "File downloaded successfully. New filename: ";
|
|
6
6
|
listPackages(): Promise<void>;
|
|
7
7
|
findAndExportListOfAllPackages(includeDependencies: boolean, packageKeys: string[]): Promise<void>;
|
|
8
|
-
batchImportPackages(spaceMappings: string[], dataModelMappingsFilePath: string, exportedPackagesFile: string, overwrite: boolean): Promise<void>;
|
|
8
|
+
batchImportPackages(spaceMappings: string[], dataModelMappingsFilePath: string, exportedPackagesFile: string, overwrite: boolean, excludeActionFlows: boolean): Promise<void>;
|
|
9
9
|
private checkNodeForCircularDependency;
|
|
10
10
|
private importPackage;
|
|
11
11
|
private importPackageVersion;
|
|
@@ -16,9 +16,9 @@ declare class PackageService {
|
|
|
16
16
|
private getTargetSpaceForExportedPackage;
|
|
17
17
|
private updateDependencyVersions;
|
|
18
18
|
publishPackage(packageToImport: ManifestNodeTransport): Promise<void>;
|
|
19
|
-
batchExportPackages(packageKeys: string[], includeDependencies: boolean): Promise<void>;
|
|
19
|
+
batchExportPackages(packageKeys: string[], includeDependencies: boolean, excludeActionFlows?: boolean): Promise<void>;
|
|
20
20
|
getNodesWithActiveVersion(nodes: BatchExportNodeTransport[]): Promise<BatchExportNodeTransport[]>;
|
|
21
|
-
getPackagesWithDependencies(draftIdByNodeId: Map<string, string
|
|
21
|
+
getPackagesWithDependencies(draftIdByNodeId: Map<string, string>): Promise<Map<string, PackageDependencyTransport[]>>;
|
|
22
22
|
private getDependencyPackages;
|
|
23
23
|
private nodeHasBeenResolvedBefore;
|
|
24
24
|
private exportListOfPackages;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { PackageExportTransport } from "../../interfaces/package-export-transport";
|
|
2
|
+
declare class StudioService {
|
|
3
|
+
getExportPackagesWithStudioData(packagesToExport: PackageExportTransport[], withDependencies: boolean): Promise<PackageExportTransport[]>;
|
|
4
|
+
private setSpaceIdForStudioPackages;
|
|
5
|
+
private setDataModelsForStudioPackages;
|
|
6
|
+
}
|
|
7
|
+
export declare const studioService: StudioService;
|
|
8
|
+
export {};
|
package/package.json
CHANGED
|
@@ -0,0 +1,56 @@
|
|
|
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/batch-import-export-api", "../../util/logger", "uuid", "../file-service", "../studio/studio.service"], factory);
|
|
17
|
+
}
|
|
18
|
+
})(function (require, exports) {
|
|
19
|
+
"use strict";
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.batchImportExportService = void 0;
|
|
22
|
+
const batch_import_export_api_1 = require("../../api/batch-import-export-api");
|
|
23
|
+
const logger_1 = require("../../util/logger");
|
|
24
|
+
const uuid_1 = require("uuid");
|
|
25
|
+
const file_service_1 = require("../file-service");
|
|
26
|
+
const studio_service_1 = require("../studio/studio.service");
|
|
27
|
+
class BatchImportExportService {
|
|
28
|
+
listActivePackages(flavors) {
|
|
29
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
const activePackages = yield batch_import_export_api_1.batchImportExportApi.findAllActivePackages(flavors);
|
|
31
|
+
activePackages.forEach(pkg => {
|
|
32
|
+
logger_1.logger.info(`${pkg.name} - Key: "${pkg.key}"`);
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
findAndExportListOfActivePackages(flavors, packageKeys, withDependencies) {
|
|
37
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
38
|
+
let packagesToExport;
|
|
39
|
+
if (packageKeys.length) {
|
|
40
|
+
packagesToExport = yield batch_import_export_api_1.batchImportExportApi.findActivePackagesByKeys(packageKeys, withDependencies);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
packagesToExport = yield batch_import_export_api_1.batchImportExportApi.findAllActivePackages(flavors, withDependencies);
|
|
44
|
+
}
|
|
45
|
+
packagesToExport = yield studio_service_1.studioService.getExportPackagesWithStudioData(packagesToExport, withDependencies);
|
|
46
|
+
this.exportListOfPackages(packagesToExport);
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
exportListOfPackages(packages) {
|
|
50
|
+
const filename = (0, uuid_1.v4)() + ".json";
|
|
51
|
+
file_service_1.fileService.writeToFileWithGivenName(JSON.stringify(packages), filename);
|
|
52
|
+
logger_1.logger.info(file_service_1.FileService.fileDownloadedMessage + filename);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.batchImportExportService = new BatchImportExportService();
|
|
56
|
+
});
|
|
@@ -56,8 +56,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
56
56
|
}
|
|
57
57
|
if (includeDependencies) {
|
|
58
58
|
fieldsToInclude.push("type", "value", "dependencies", "id", "updateAvailable", "version", "poolId", "node", "dataModelId", "dataPool", "datamodels");
|
|
59
|
-
const packagesKeyWithActionFlows = (yield node_api_1.nodeApi.findAllNodesOfType("SCENARIO")).map(node => node.rootNodeKey);
|
|
60
|
-
nodesListToExport = nodesListToExport.filter(node => !packagesKeyWithActionFlows.includes(node.rootNodeKey));
|
|
61
59
|
const unPublishedNodes = nodesListToExport.filter(node => !node.activatedDraftId);
|
|
62
60
|
let publishedNodes = nodesListToExport.filter(node => node.activatedDraftId);
|
|
63
61
|
publishedNodes = yield this.getNodesWithActiveVersion(publishedNodes);
|
|
@@ -69,7 +67,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
69
67
|
});
|
|
70
68
|
const draftIdByNodeId = new Map();
|
|
71
69
|
nodesListToExport.forEach(node => draftIdByNodeId.set(node.workingDraftId, node.id));
|
|
72
|
-
const dependenciesByPackageIds = yield this.getPackagesWithDependencies(draftIdByNodeId
|
|
70
|
+
const dependenciesByPackageIds = yield this.getPackagesWithDependencies(draftIdByNodeId);
|
|
73
71
|
nodesListToExport = nodesListToExport.map(nodeToExport => {
|
|
74
72
|
var _a;
|
|
75
73
|
nodeToExport.dependencies = (_a = dependenciesByPackageIds[nodeToExport.workingDraftId]) !== null && _a !== void 0 ? _a : [];
|
|
@@ -79,7 +77,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
79
77
|
this.exportListOfPackages(nodesListToExport, fieldsToInclude);
|
|
80
78
|
});
|
|
81
79
|
}
|
|
82
|
-
batchImportPackages(spaceMappings, dataModelMappingsFilePath, exportedPackagesFile, overwrite) {
|
|
80
|
+
batchImportPackages(spaceMappings, dataModelMappingsFilePath, exportedPackagesFile, overwrite, excludeActionFlows) {
|
|
83
81
|
return __awaiter(this, void 0, void 0, function* () {
|
|
84
82
|
exportedPackagesFile = exportedPackagesFile + (exportedPackagesFile.includes(".zip") ? "" : ".zip");
|
|
85
83
|
const zip = new AdmZip(exportedPackagesFile);
|
|
@@ -118,7 +116,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
118
116
|
});
|
|
119
117
|
const draftIdsByPackageKeyAndVersion = new Map();
|
|
120
118
|
for (const node of manifestNodes) {
|
|
121
|
-
yield this.importPackage(node, manifestNodes, sourceToTargetVersionsByNodeKey, customSpacesMap, dmTargetIdsBySourceIds, importedVersionsByNodeKey, draftIdsByPackageKeyAndVersion, importedFilePath);
|
|
119
|
+
yield this.importPackage(node, manifestNodes, sourceToTargetVersionsByNodeKey, customSpacesMap, dmTargetIdsBySourceIds, importedVersionsByNodeKey, draftIdsByPackageKeyAndVersion, importedFilePath, excludeActionFlows);
|
|
122
120
|
}
|
|
123
121
|
});
|
|
124
122
|
}
|
|
@@ -135,7 +133,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
135
133
|
}
|
|
136
134
|
});
|
|
137
135
|
}
|
|
138
|
-
importPackage(packageToImport, manifestNodes, sourceToTargetVersionsByNodeKey, spaceMappings, dmTargetIdsBySourceIds, importedVersionsByNodeKey, draftIdsByPackageKeyAndVersion, importedFilePath) {
|
|
136
|
+
importPackage(packageToImport, manifestNodes, sourceToTargetVersionsByNodeKey, spaceMappings, dmTargetIdsBySourceIds, importedVersionsByNodeKey, draftIdsByPackageKeyAndVersion, importedFilePath, excludeActionFlows) {
|
|
139
137
|
var _a;
|
|
140
138
|
return __awaiter(this, void 0, void 0, function* () {
|
|
141
139
|
const importedPackageVersion = (_a = importedVersionsByNodeKey.get(packageToImport.packageKey)) !== null && _a !== void 0 ? _a : [];
|
|
@@ -146,7 +144,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
146
144
|
}).filter(version => !importedPackageVersion.includes(version));
|
|
147
145
|
for (const version of versionsOfPackage) {
|
|
148
146
|
try {
|
|
149
|
-
yield this.importPackageVersion(packageToImport, manifestNodes, sourceToTargetVersionsByNodeKey, spaceMappings, dmTargetIdsBySourceIds, importedVersionsByNodeKey, draftIdsByPackageKeyAndVersion, importedFilePath, version);
|
|
147
|
+
yield this.importPackageVersion(packageToImport, manifestNodes, sourceToTargetVersionsByNodeKey, spaceMappings, dmTargetIdsBySourceIds, importedVersionsByNodeKey, draftIdsByPackageKeyAndVersion, importedFilePath, version, excludeActionFlows);
|
|
150
148
|
}
|
|
151
149
|
catch (e) {
|
|
152
150
|
logger_1.logger.error(`Problem import package with key: ${packageToImport.packageKey} ${version} ${e}`);
|
|
@@ -154,12 +152,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
154
152
|
}
|
|
155
153
|
});
|
|
156
154
|
}
|
|
157
|
-
importPackageVersion(packageToImport, manifestNodes, sourceToTargetVersionsByNodeKey, spaceMappings, dmTargetIdsBySourceIds, importedVersionsByNodeKey, draftIdsByPackageKeyAndVersion, importedFilePath, versionOfPackageBeingImported) {
|
|
155
|
+
importPackageVersion(packageToImport, manifestNodes, sourceToTargetVersionsByNodeKey, spaceMappings, dmTargetIdsBySourceIds, importedVersionsByNodeKey, draftIdsByPackageKeyAndVersion, importedFilePath, versionOfPackageBeingImported, excludeActionFlows) {
|
|
158
156
|
var _a, _b;
|
|
159
157
|
return __awaiter(this, void 0, void 0, function* () {
|
|
160
158
|
if (packageToImport.dependenciesByVersion.get(versionOfPackageBeingImported).length) {
|
|
161
159
|
const dependenciesOfPackageVersion = packageToImport.dependenciesByVersion.get(versionOfPackageBeingImported);
|
|
162
|
-
yield this.importDependencyPackages(dependenciesOfPackageVersion, manifestNodes, sourceToTargetVersionsByNodeKey, spaceMappings, dmTargetIdsBySourceIds, importedVersionsByNodeKey, draftIdsByPackageKeyAndVersion, importedFilePath);
|
|
160
|
+
yield this.importDependencyPackages(dependenciesOfPackageVersion, manifestNodes, sourceToTargetVersionsByNodeKey, spaceMappings, dmTargetIdsBySourceIds, importedVersionsByNodeKey, draftIdsByPackageKeyAndVersion, importedFilePath, excludeActionFlows);
|
|
163
161
|
}
|
|
164
162
|
if (this.checkIfPackageVersionHasBeenImported(packageToImport.packageKey, versionOfPackageBeingImported, importedVersionsByNodeKey)) {
|
|
165
163
|
return;
|
|
@@ -168,7 +166,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
168
166
|
let nodeInTargetTeam = yield node_api_1.nodeApi.findOneByKeyAndRootNodeKey(packageToImport.packageKey, packageToImport.packageKey);
|
|
169
167
|
const pathToZipFile = path.resolve(importedFilePath, packageToImport.packageKey + "_" + versionOfPackageBeingImported + ".zip");
|
|
170
168
|
const packageZip = yield this.createBodyForImport(pathToZipFile);
|
|
171
|
-
yield package_api_1.packageApi.importPackage(packageZip, targetSpace.id, !!nodeInTargetTeam);
|
|
169
|
+
yield package_api_1.packageApi.importPackage(packageZip, targetSpace.id, !!nodeInTargetTeam, excludeActionFlows);
|
|
172
170
|
if (nodeInTargetTeam) {
|
|
173
171
|
yield package_api_1.packageApi.movePackageToSpace(nodeInTargetTeam.id, targetSpace.id);
|
|
174
172
|
}
|
|
@@ -213,14 +211,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
213
211
|
}
|
|
214
212
|
return isLatestVersion;
|
|
215
213
|
}
|
|
216
|
-
importDependencyPackages(dependenciesToImport, manifestNodes, sourceToTargetVersionsByNodeKey, spaceMappings, dmTargetIdsBySourceIds, importedVersionsByNodeKey, draftIdsByPackageKeyAndVersion, importedFilePath) {
|
|
214
|
+
importDependencyPackages(dependenciesToImport, manifestNodes, sourceToTargetVersionsByNodeKey, spaceMappings, dmTargetIdsBySourceIds, importedVersionsByNodeKey, draftIdsByPackageKeyAndVersion, importedFilePath, excludeActionFlows) {
|
|
217
215
|
return __awaiter(this, void 0, void 0, function* () {
|
|
218
216
|
for (const dependency of dependenciesToImport) {
|
|
219
217
|
if (this.checkIfPackageVersionHasBeenImported(dependency.key, dependency.version, importedVersionsByNodeKey)) {
|
|
220
218
|
continue;
|
|
221
219
|
}
|
|
222
220
|
const dependentPackage = manifestNodes.find((node) => node.packageKey === dependency.key);
|
|
223
|
-
yield this.importPackage(dependentPackage, manifestNodes, sourceToTargetVersionsByNodeKey, spaceMappings, dmTargetIdsBySourceIds, importedVersionsByNodeKey, draftIdsByPackageKeyAndVersion, importedFilePath);
|
|
221
|
+
yield this.importPackage(dependentPackage, manifestNodes, sourceToTargetVersionsByNodeKey, spaceMappings, dmTargetIdsBySourceIds, importedVersionsByNodeKey, draftIdsByPackageKeyAndVersion, importedFilePath, excludeActionFlows);
|
|
224
222
|
}
|
|
225
223
|
});
|
|
226
224
|
}
|
|
@@ -291,12 +289,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
291
289
|
});
|
|
292
290
|
});
|
|
293
291
|
}
|
|
294
|
-
batchExportPackages(packageKeys, includeDependencies) {
|
|
292
|
+
batchExportPackages(packageKeys, includeDependencies, excludeActionFlows) {
|
|
295
293
|
return __awaiter(this, void 0, void 0, function* () {
|
|
296
294
|
const allPackages = yield package_api_1.packageApi.findAllPackages();
|
|
297
295
|
let nodesListToExport = allPackages.filter(node => packageKeys.includes(node.key));
|
|
298
|
-
const actionFlowsPackageKeys = (yield node_api_1.nodeApi.findAllNodesOfType("SCENARIO")).map(node => node.rootNodeKey);
|
|
299
|
-
nodesListToExport = nodesListToExport.filter(node => !actionFlowsPackageKeys.includes(node.key));
|
|
300
296
|
const versionsByNodeKey = new Map();
|
|
301
297
|
const allPackageKeys = allPackages.map(p => p.key);
|
|
302
298
|
for (const packageKey of packageKeys) {
|
|
@@ -306,7 +302,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
306
302
|
}
|
|
307
303
|
nodesListToExport = yield this.getNodesWithActiveVersion(nodesListToExport);
|
|
308
304
|
if (includeDependencies) {
|
|
309
|
-
const dependencyPackages = yield this.getDependencyPackages(nodesListToExport, [], allPackages,
|
|
305
|
+
const dependencyPackages = yield this.getDependencyPackages(nodesListToExport, [], allPackages, [], versionsByNodeKey);
|
|
310
306
|
nodesListToExport.push(...dependencyPackages);
|
|
311
307
|
}
|
|
312
308
|
const packagesWithVariableAssignments = yield variable_service_1.variableService.getVariableAssignmentsForNodes();
|
|
@@ -323,7 +319,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
323
319
|
node.datamodels = dataModelDetailsByNode.get(node.key);
|
|
324
320
|
});
|
|
325
321
|
nodesListToExport = yield space_service_1.spaceService.getParentSpaces(nodesListToExport);
|
|
326
|
-
yield this.exportToZip(nodesListToExport, versionsByNodeKey);
|
|
322
|
+
yield this.exportToZip(nodesListToExport, versionsByNodeKey, excludeActionFlows);
|
|
327
323
|
});
|
|
328
324
|
}
|
|
329
325
|
getNodesWithActiveVersion(nodes) {
|
|
@@ -335,20 +331,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
335
331
|
return nodes;
|
|
336
332
|
});
|
|
337
333
|
}
|
|
338
|
-
getPackagesWithDependencies(draftIdByNodeId
|
|
334
|
+
getPackagesWithDependencies(draftIdByNodeId) {
|
|
339
335
|
return __awaiter(this, void 0, void 0, function* () {
|
|
340
336
|
const allPackageDependencies = yield package_dependencies_api_1.packageDependenciesApi.findPackageDependenciesByIds(draftIdByNodeId);
|
|
341
|
-
Object.values(allPackageDependencies).forEach((value, key) => {
|
|
342
|
-
value = value.filter((dependency => actionFlowPackageKeys.includes(dependency.key)));
|
|
343
|
-
});
|
|
344
337
|
return allPackageDependencies;
|
|
345
338
|
});
|
|
346
339
|
}
|
|
347
|
-
getDependencyPackages(nodesToResolve, dependencyPackages, allPackages,
|
|
340
|
+
getDependencyPackages(nodesToResolve, dependencyPackages, allPackages, resolvedDependencies, versionsByNodeKey) {
|
|
348
341
|
return __awaiter(this, void 0, void 0, function* () {
|
|
349
342
|
const draftIdByNodeId = new Map();
|
|
350
343
|
nodesToResolve.forEach(node => draftIdByNodeId.set(node.activatedDraftId, node.id));
|
|
351
|
-
const dependenciesByPackageDraftIds = yield this.getPackagesWithDependencies(draftIdByNodeId
|
|
344
|
+
const dependenciesByPackageDraftIds = yield this.getPackagesWithDependencies(draftIdByNodeId);
|
|
352
345
|
const nodesWithDependencies = nodesToResolve.map(nodeToExport => {
|
|
353
346
|
var _a;
|
|
354
347
|
nodeToExport.dependencies = (_a = dependenciesByPackageDraftIds[nodeToExport.activatedDraftId]) !== null && _a !== void 0 ? _a : [];
|
|
@@ -375,7 +368,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
375
368
|
}, activatedDraftId: versionedDep.draftId });
|
|
376
369
|
});
|
|
377
370
|
dependencyPackages.push(...dependencyPackagesOfNode);
|
|
378
|
-
yield this.getDependencyPackages(dependencyPackagesOfNode, dependencyPackages, allPackages,
|
|
371
|
+
yield this.getDependencyPackages(dependencyPackagesOfNode, dependencyPackages, allPackages, resolvedDependencies, versionsByNodeKey);
|
|
379
372
|
}
|
|
380
373
|
}
|
|
381
374
|
return dependencyPackages;
|
|
@@ -389,11 +382,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
389
382
|
file_service_1.fileService.writeToFileWithGivenName(JSON.stringify(nodes, fieldsToInclude), filename);
|
|
390
383
|
logger_1.logger.info(file_service_1.FileService.fileDownloadedMessage + filename);
|
|
391
384
|
}
|
|
392
|
-
exportPackagesAndAssets(nodes) {
|
|
385
|
+
exportPackagesAndAssets(nodes, excludeActionFlows) {
|
|
393
386
|
return __awaiter(this, void 0, void 0, function* () {
|
|
394
387
|
const zips = [];
|
|
395
388
|
for (const rootPackage of nodes) {
|
|
396
|
-
const exportedPackage = yield package_api_1.packageApi.exportPackage(rootPackage.key, rootPackage.version.version);
|
|
389
|
+
const exportedPackage = yield package_api_1.packageApi.exportPackage(rootPackage.key, rootPackage.version.version, excludeActionFlows);
|
|
397
390
|
zips.push({
|
|
398
391
|
data: exportedPackage,
|
|
399
392
|
packageKey: rootPackage.key,
|
|
@@ -403,10 +396,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
403
396
|
return zips;
|
|
404
397
|
});
|
|
405
398
|
}
|
|
406
|
-
exportToZip(nodes, versionsByNodeKey) {
|
|
399
|
+
exportToZip(nodes, versionsByNodeKey, excludeActionFlows) {
|
|
407
400
|
return __awaiter(this, void 0, void 0, function* () {
|
|
408
401
|
const manifestNodes = this.exportManifestOfPackages(nodes, versionsByNodeKey);
|
|
409
|
-
const packageZips = yield this.exportPackagesAndAssets(nodes);
|
|
402
|
+
const packageZips = yield this.exportPackagesAndAssets(nodes, excludeActionFlows);
|
|
410
403
|
const zip = new AdmZip();
|
|
411
404
|
zip.addFile("manifest.yml", Buffer.from((0, yaml_1.stringify)(manifestNodes), "utf8"));
|
|
412
405
|
for (const packageZip of packageZips) {
|
|
@@ -0,0 +1,58 @@
|
|
|
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", "../../interfaces/package-manager.interfaces", "../package-manager/datamodel-service"], factory);
|
|
17
|
+
}
|
|
18
|
+
})(function (require, exports) {
|
|
19
|
+
"use strict";
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.studioService = void 0;
|
|
22
|
+
const package_api_1 = require("../../api/package-api");
|
|
23
|
+
const package_manager_interfaces_1 = require("../../interfaces/package-manager.interfaces");
|
|
24
|
+
const datamodel_service_1 = require("../package-manager/datamodel-service");
|
|
25
|
+
class StudioService {
|
|
26
|
+
getExportPackagesWithStudioData(packagesToExport, withDependencies) {
|
|
27
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
const studioPackagesWithDataModels = yield package_api_1.packageApi.findAllPackagesWithVariableAssignments(package_manager_interfaces_1.PackageManagerVariableType.DATA_MODEL);
|
|
29
|
+
packagesToExport = exports.studioService.setSpaceIdForStudioPackages(packagesToExport, studioPackagesWithDataModels);
|
|
30
|
+
if (withDependencies) {
|
|
31
|
+
const dataModelDetailsByNode = yield datamodel_service_1.dataModelService.getDataModelDetailsForPackages(studioPackagesWithDataModels);
|
|
32
|
+
packagesToExport = exports.studioService.setDataModelsForStudioPackages(packagesToExport, studioPackagesWithDataModels, dataModelDetailsByNode);
|
|
33
|
+
}
|
|
34
|
+
return packagesToExport;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
setSpaceIdForStudioPackages(packages, studioPackages) {
|
|
38
|
+
const studioPackageByKey = new Map();
|
|
39
|
+
studioPackages.forEach(pkg => studioPackageByKey.set(pkg.key, pkg));
|
|
40
|
+
return packages.map(pkg => {
|
|
41
|
+
return studioPackageByKey.has(pkg.key) ? Object.assign(Object.assign({}, pkg), { spaceId: studioPackageByKey.get(pkg.key).spaceId }) : pkg;
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
setDataModelsForStudioPackages(packages, studioPackageWithDataModels, dataModelDetailsByNode) {
|
|
45
|
+
const studioPackageByKey = new Map();
|
|
46
|
+
studioPackageWithDataModels.forEach(pkg => studioPackageByKey.set(pkg.key, pkg));
|
|
47
|
+
return packages.map(pkg => {
|
|
48
|
+
return studioPackageByKey.has(pkg.key) ? Object.assign(Object.assign({}, pkg), { datamodels: dataModelDetailsByNode.get(pkg.key)
|
|
49
|
+
.map(dataModel => ({
|
|
50
|
+
name: dataModel.name,
|
|
51
|
+
poolId: dataModel.poolId,
|
|
52
|
+
dataModelId: dataModel.dataModelId
|
|
53
|
+
})) }) : pkg;
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
exports.studioService = new StudioService();
|
|
58
|
+
});
|