trm-core 8.5.3 → 9.1.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.
Files changed (101) hide show
  1. package/README.md +11 -5
  2. package/changelog.txt +17 -0
  3. package/dist/actions/commons/prompts/index.d.ts +1 -0
  4. package/dist/actions/commons/prompts/index.js +17 -0
  5. package/dist/actions/commons/prompts/setTransportTarget.d.ts +2 -0
  6. package/dist/actions/commons/prompts/setTransportTarget.js +63 -0
  7. package/dist/actions/install/addNamespace.js +19 -46
  8. package/dist/actions/install/{migrate.d.ts → checkObjectsLock.d.ts} +1 -1
  9. package/dist/actions/install/checkObjectsLock.js +52 -0
  10. package/dist/actions/install/checkTransports.js +76 -55
  11. package/dist/actions/install/executePostActivities.js +13 -11
  12. package/dist/actions/install/generateDevclass.js +1 -7
  13. package/dist/actions/install/generateInstallTransport.js +85 -99
  14. package/dist/actions/install/importCustTransport.js +34 -33
  15. package/dist/actions/install/importDevcTransport.js +1 -1
  16. package/dist/actions/install/importLangTransport.js +1 -1
  17. package/dist/actions/install/importTadirTransport.js +2 -18
  18. package/dist/actions/install/index.d.ts +5 -5
  19. package/dist/actions/install/index.js +7 -9
  20. package/dist/actions/install/init.js +6 -9
  21. package/dist/actions/install/readDevc.js +6 -2
  22. package/dist/actions/install/readTadir.js +4 -2
  23. package/dist/actions/install/refreshTmsTxt.js +2 -8
  24. package/dist/actions/install/{setPackageIntegrity.d.ts → updatePackageData.d.ts} +1 -1
  25. package/dist/actions/install/updatePackageData.js +35 -0
  26. package/dist/actions/publish/checkAllObjectsReleased.d.ts +3 -0
  27. package/dist/actions/publish/checkAllObjectsReleased.js +46 -0
  28. package/dist/actions/publish/generateCustTransport.js +24 -20
  29. package/dist/actions/publish/generateDevcTransport.js +0 -2
  30. package/dist/actions/publish/generateTadirTransport.js +0 -16
  31. package/dist/actions/publish/getSourceCode.js +1 -1
  32. package/dist/actions/publish/index.d.ts +7 -3
  33. package/dist/actions/publish/index.js +5 -3
  34. package/dist/actions/publish/init.js +9 -22
  35. package/dist/actions/publish/releaseTransports.js +3 -4
  36. package/dist/actions/publish/setCustomizingTransports.js +100 -44
  37. package/dist/actions/publish/setManifestValues.js +1 -1
  38. package/dist/actions/publish/setReadme.js +1 -1
  39. package/dist/actions/publish/setTransportTarget.js +2 -36
  40. package/dist/actions/publish/{finalizePublish.d.ts → updatePackageData.d.ts} +1 -1
  41. package/dist/actions/publish/{finalizePublish.js → updatePackageData.js} +10 -10
  42. package/dist/actions/stopWarning.js +5 -1
  43. package/dist/client/RESTClient.d.ts +5 -6
  44. package/dist/client/RESTClient.js +36 -51
  45. package/dist/client/RFCClient.d.ts +5 -6
  46. package/dist/client/RFCClient.js +168 -205
  47. package/dist/client/components/DDLANGUAGE.d.ts +1 -0
  48. package/dist/client/components/TARSYSTEM.d.ts +1 -0
  49. package/dist/client/components/index.d.ts +2 -0
  50. package/dist/client/components/index.js +2 -0
  51. package/dist/client/struct/E07T.d.ts +6 -0
  52. package/dist/client/struct/E07T.js +2 -0
  53. package/dist/client/struct/TADIR_KEY.d.ts +6 -0
  54. package/dist/client/struct/TADIR_KEY.js +2 -0
  55. package/dist/client/struct/ZTRM_DIRTY.d.ts +7 -0
  56. package/dist/client/struct/ZTRM_DIRTY.js +2 -0
  57. package/dist/client/struct/ZTRM_OBJ_LOCK.d.ts +7 -0
  58. package/dist/client/struct/ZTRM_OBJ_LOCK.js +2 -0
  59. package/dist/client/struct/ZTRM_PACKAGE.d.ts +14 -0
  60. package/dist/client/struct/ZTRM_PACKAGE.js +2 -0
  61. package/dist/client/struct/index.d.ts +5 -2
  62. package/dist/client/struct/index.js +5 -2
  63. package/dist/commons/index.d.ts +0 -1
  64. package/dist/commons/index.js +0 -1
  65. package/dist/dependencies/PackageDependencies.js +16 -5
  66. package/dist/lockfile/Lockfile.js +1 -1
  67. package/dist/manifest/Manifest.js +0 -31
  68. package/dist/registry/AbstractRegistry.d.ts +2 -1
  69. package/dist/registry/FileSystem.d.ts +1 -0
  70. package/dist/registry/FileSystem.js +5 -0
  71. package/dist/registry/RegistryV2.d.ts +2 -1
  72. package/dist/registry/RegistryV2.js +116 -6
  73. package/dist/systemConnector/ISystemConnector.d.ts +4 -5
  74. package/dist/systemConnector/ISystemConnectorBase.d.ts +0 -3
  75. package/dist/systemConnector/RESTSystemConnector.d.ts +5 -6
  76. package/dist/systemConnector/RESTSystemConnector.js +20 -25
  77. package/dist/systemConnector/RFCSystemConnector.d.ts +5 -6
  78. package/dist/systemConnector/RFCSystemConnector.js +20 -25
  79. package/dist/systemConnector/SystemConnector.d.ts +5 -9
  80. package/dist/systemConnector/SystemConnector.js +21 -42
  81. package/dist/systemConnector/SystemConnectorBase.d.ts +7 -9
  82. package/dist/systemConnector/SystemConnectorBase.js +41 -220
  83. package/dist/transport/Transport.d.ts +9 -4
  84. package/dist/transport/Transport.js +49 -52
  85. package/dist/trmPackage/TrmArtifact.d.ts +1 -1
  86. package/dist/trmPackage/TrmArtifact.js +9 -2
  87. package/dist/trmPackage/TrmPackage.d.ts +11 -5
  88. package/dist/trmPackage/TrmPackage.js +11 -22
  89. package/dist/validators/validateTransportTarget.d.ts +2 -2
  90. package/dist/validators/validateTransportTarget.js +1 -1
  91. package/package.json +4 -4
  92. package/dist/actions/install/migrate.js +0 -35
  93. package/dist/actions/install/setPackageIntegrity.js +0 -28
  94. package/dist/actions/install/setTrmServerUpgradeService.d.ts +0 -3
  95. package/dist/actions/install/setTrmServerUpgradeService.js +0 -32
  96. package/dist/client/struct/ZTRM_INTEGRITY.d.ts +0 -6
  97. package/dist/client/struct/ZTY_TRM_PACKAGE.d.ts +0 -14
  98. package/dist/commons/TrmServerUpgradeService.d.ts +0 -16
  99. package/dist/commons/TrmServerUpgradeService.js +0 -89
  100. /package/dist/client/{struct/ZTRM_INTEGRITY.js → components/DDLANGUAGE.js} +0 -0
  101. /package/dist/client/{struct/ZTY_TRM_PACKAGE.js → components/TARSYSTEM.js} +0 -0
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,7 @@
1
+ import { PGMID, SOBJ_NAME, TRKORR, TROBJTYPE } from "../components";
2
+ export type ZTRM_OBJ_LOCK = {
3
+ pgmid: PGMID;
4
+ object: TROBJTYPE;
5
+ objName: SOBJ_NAME;
6
+ trkorr: TRKORR;
7
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,14 @@
1
+ import { AS4DATE, AS4TIME, DEVCLASS, TRKORR, ZTRM_PACKAGE_INTEGRITY, ZTRM_PACKAGE_NAME, ZTRM_PACKAGE_REGISTRY } from "../components";
2
+ import { ZTRM_DIRTY } from "./ZTRM_DIRTY";
3
+ export interface ZTRM_PACKAGE {
4
+ packageName: ZTRM_PACKAGE_NAME;
5
+ packageRegistry: ZTRM_PACKAGE_REGISTRY;
6
+ manifest: string;
7
+ trkorr: TRKORR;
8
+ as4Date: AS4DATE;
9
+ as4Time: AS4TIME;
10
+ integrity: ZTRM_PACKAGE_INTEGRITY;
11
+ dirty: ZTRM_DIRTY[];
12
+ devclass: DEVCLASS;
13
+ packages: DEVCLASS[];
14
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -15,7 +15,6 @@ export * from "./SCOMPKDTLN";
15
15
  export * from "./ZTRM_INSTALLDEVC";
16
16
  export * from "./KO100";
17
17
  export * from "./T100";
18
- export * from "./ZTRM_INTEGRITY";
19
18
  export * from "./LXE_TT_PACKG_LINE";
20
19
  export * from "./TFDIR";
21
20
  export * from "./TRNSPACET";
@@ -23,8 +22,12 @@ export * from "./TRNSPACETT";
23
22
  export * from "./SYMSG";
24
23
  export * from "./SEOCLASSTX";
25
24
  export * from "./ZTY_SER_OBJ";
26
- export * from "./ZTY_TRM_PACKAGE";
25
+ export * from "./ZTRM_PACKAGE";
27
26
  export * from "./ZTRM_OBJECT_DEPENDENCY";
28
27
  export * from "./ZTRM_OBJECT_DEPENDENCIES";
29
28
  export * from "./DD03L";
30
29
  export * from "./TPSTAT";
30
+ export * from "./ZTRM_OBJ_LOCK";
31
+ export * from "./E07T";
32
+ export * from "./TADIR_KEY";
33
+ export * from "./ZTRM_DIRTY";
@@ -31,7 +31,6 @@ __exportStar(require("./SCOMPKDTLN"), exports);
31
31
  __exportStar(require("./ZTRM_INSTALLDEVC"), exports);
32
32
  __exportStar(require("./KO100"), exports);
33
33
  __exportStar(require("./T100"), exports);
34
- __exportStar(require("./ZTRM_INTEGRITY"), exports);
35
34
  __exportStar(require("./LXE_TT_PACKG_LINE"), exports);
36
35
  __exportStar(require("./TFDIR"), exports);
37
36
  __exportStar(require("./TRNSPACET"), exports);
@@ -39,8 +38,12 @@ __exportStar(require("./TRNSPACETT"), exports);
39
38
  __exportStar(require("./SYMSG"), exports);
40
39
  __exportStar(require("./SEOCLASSTX"), exports);
41
40
  __exportStar(require("./ZTY_SER_OBJ"), exports);
42
- __exportStar(require("./ZTY_TRM_PACKAGE"), exports);
41
+ __exportStar(require("./ZTRM_PACKAGE"), exports);
43
42
  __exportStar(require("./ZTRM_OBJECT_DEPENDENCY"), exports);
44
43
  __exportStar(require("./ZTRM_OBJECT_DEPENDENCIES"), exports);
45
44
  __exportStar(require("./DD03L"), exports);
46
45
  __exportStar(require("./TPSTAT"), exports);
46
+ __exportStar(require("./ZTRM_OBJ_LOCK"), exports);
47
+ __exportStar(require("./E07T"), exports);
48
+ __exportStar(require("./TADIR_KEY"), exports);
49
+ __exportStar(require("./ZTRM_DIRTY"), exports);
@@ -13,5 +13,4 @@ export * from "./getAxiosInstance";
13
13
  export * from "./getNodePackage";
14
14
  export * from "./getCoreTrmDependencies";
15
15
  export * from "./checkCoreTrmDependencies";
16
- export * from "./TrmServerUpgradeService";
17
16
  export * from "./jsonStringifyWithKeyOrder";
@@ -29,5 +29,4 @@ __exportStar(require("./getAxiosInstance"), exports);
29
29
  __exportStar(require("./getNodePackage"), exports);
30
30
  __exportStar(require("./getCoreTrmDependencies"), exports);
31
31
  __exportStar(require("./checkCoreTrmDependencies"), exports);
32
- __exportStar(require("./TrmServerUpgradeService"), exports);
33
32
  __exportStar(require("./jsonStringifyWithKeyOrder"), exports);
@@ -59,12 +59,26 @@ class PackageDependencies {
59
59
  return __awaiter(this, void 0, void 0, function* () {
60
60
  var i = 0;
61
61
  var logProgress;
62
- trm_commons_1.Logger.loading(`Analyzing dependencies...`, !log);
62
+ if (log) {
63
+ i = 0;
64
+ logProgress = new cliProgress.SingleBar({
65
+ clearOnComplete: true,
66
+ hideCursor: true,
67
+ format: 'Analyzing dependencies [{bar}] {percentage}% ({value}/{total})',
68
+ barGlue: '>'
69
+ }, cliProgress.Presets.legacy);
70
+ trm_commons_1.Logger.forceStop();
71
+ logProgress.start(packageDependencies.length, 0);
72
+ }
63
73
  for (const d of packageDependencies) {
64
74
  this.allDependencies.push(yield (new ObjectDependencies_1.ObjectDependencies(d.object, d.objName).setDependencies(d.dependencies || [])));
65
75
  i++;
76
+ if (log) {
77
+ logProgress.update(i);
78
+ }
66
79
  }
67
80
  if (log) {
81
+ logProgress.stop();
68
82
  i = 0;
69
83
  logProgress = new cliProgress.SingleBar({
70
84
  clearOnComplete: true,
@@ -72,10 +86,7 @@ class PackageDependencies {
72
86
  format: 'Building dependency tree [{bar}] {percentage}% ({value}/{total})',
73
87
  barGlue: '>'
74
88
  }, cliProgress.Presets.legacy);
75
- try {
76
- trm_commons_1.Logger.logger.forceStop();
77
- }
78
- catch (_a) { }
89
+ trm_commons_1.Logger.forceStop();
79
90
  logProgress.start(this.allDependencies.length, 0);
80
91
  }
81
92
  for (const o of this.allDependencies) {
@@ -93,7 +93,7 @@ class Lockfile {
93
93
  const registry = registry_1.RegistryProvider.getRegistry(lock.registry);
94
94
  const ping = yield registry.ping();
95
95
  const release = yield registry.getPackage(lock.name, lock.version);
96
- const artifact = yield registry.downloadArtifact(lock.name, lock.version);
96
+ const artifact = yield registry.downloadArtifact(lock.name, lock.version, true);
97
97
  const checksum = (0, crypto_1.createHash)("sha512").update(artifact.binary).digest("base64");
98
98
  if (release.checksum !== lock.integrity || checksum !== lock.integrity) {
99
99
  trm_commons_1.Logger.error(`SECURITY ISSUE! Release "${lock.name}", registry "${lock.registry}", integrity in lockfile does NOT match!`);
@@ -282,37 +282,6 @@ class Manifest {
282
282
  };
283
283
  }
284
284
  }
285
- if (manifest.sapEntries) {
286
- var sapEntries = [];
287
- Object.keys(manifest.sapEntries).forEach(table => {
288
- try {
289
- var tableItems = [];
290
- manifest.sapEntries[table].forEach(r => {
291
- var record = {};
292
- Object.keys(r).forEach(k => {
293
- record[k] = {
294
- "_text": r[k]
295
- };
296
- });
297
- if (Object.keys(record).length > 0) {
298
- tableItems.push(record);
299
- }
300
- });
301
- sapEntries.push({
302
- "TABLE": table,
303
- "ENTRIES": {
304
- "item": tableItems
305
- }
306
- });
307
- }
308
- catch (e) { }
309
- });
310
- if (sapEntries.length > 0) {
311
- oAbapXml['asx:abap']['asx:values']['TRM_MANIFEST']['SAP_ENTRIES'] = {
312
- "item": sapEntries
313
- };
314
- }
315
- }
316
285
  if (manifest.postActivities) {
317
286
  var postActivities = [];
318
287
  manifest.postActivities.forEach(pa => {
@@ -11,11 +11,12 @@ export declare abstract class AbstractRegistry {
11
11
  abstract ping: () => Promise<Ping>;
12
12
  abstract whoAmI: () => Promise<WhoAmI>;
13
13
  abstract getPackage: (fullName: string, version: string) => Promise<Package>;
14
- abstract downloadArtifact: (fullName: string, version: string) => Promise<TrmArtifact>;
14
+ abstract downloadArtifact: (fullName: string, version: string, log?: boolean) => Promise<TrmArtifact>;
15
15
  abstract validatePublish: (fullName: string, version: string, isPrivate: boolean) => Promise<void>;
16
16
  abstract publish: (fullName: string, version: string, artifact: TrmArtifact, readme?: string, tags?: string) => Promise<Package>;
17
17
  abstract unpublish: (fullName: string, version: string) => Promise<void>;
18
18
  abstract deprecate: (fullName: string, version: string, deprecate: Deprecate) => Promise<void>;
19
19
  abstract addDistTag: (fullName: string, distTag: DistTagAdd) => Promise<void>;
20
20
  abstract rmDistTag: (fullName: string, distTag: DistTagRm) => Promise<void>;
21
+ abstract contents: (fullName: string, version: string, log?: boolean) => Promise<any>;
21
22
  }
@@ -24,4 +24,5 @@ export declare class FileSystem implements AbstractRegistry {
24
24
  deprecate(fullName: string, version: string, deprecate: Deprecate): Promise<void>;
25
25
  addDistTag(fullName: string, distTag: DistTagAdd): Promise<void>;
26
26
  rmDistTag(fullName: string, distTag: DistTagRm): Promise<void>;
27
+ contents(fullName: string, version: string): Promise<any>;
27
28
  }
@@ -174,5 +174,10 @@ class FileSystem {
174
174
  throw new Error(`File system can't remove dist tags!`);
175
175
  });
176
176
  }
177
+ contents(fullName, version) {
178
+ return __awaiter(this, void 0, void 0, function* () {
179
+ throw new Error(`File system can't see contents!`);
180
+ });
181
+ }
177
182
  }
178
183
  exports.FileSystem = FileSystem;
@@ -24,11 +24,12 @@ export declare class RegistryV2 implements AbstractRegistry {
24
24
  ping(): Promise<Ping>;
25
25
  whoAmI(): Promise<WhoAmI>;
26
26
  getPackage(fullName: string, version?: string): Promise<Package>;
27
- downloadArtifact(fullName: string, version?: string): Promise<TrmArtifact>;
27
+ downloadArtifact(fullName: string, version?: string, log?: boolean): Promise<TrmArtifact>;
28
28
  validatePublish(fullName: string, version: string, isPrivate: boolean): Promise<void>;
29
29
  publish(fullName: string, version: string, artifact: TrmArtifact, readme?: string, tags?: string): Promise<Package>;
30
30
  unpublish(fullName: string, version: string): Promise<void>;
31
31
  deprecate(fullName: string, version: string, deprecate: Deprecate): Promise<void>;
32
32
  addDistTag(fullName: string, distTag: DistTagAdd): Promise<void>;
33
33
  rmDistTag(fullName: string, distTag: DistTagRm): Promise<void>;
34
+ contents(fullName: string, version?: string, log?: boolean): Promise<any>;
34
35
  }
@@ -58,6 +58,7 @@ const protocol_1 = require("../protocol");
58
58
  const opener_1 = __importDefault(require("opener"));
59
59
  const commons_1 = require("../commons");
60
60
  const node_cache_1 = __importDefault(require("node-cache"));
61
+ const cliProgress = __importStar(require("cli-progress"));
61
62
  const AXIOS_CTX = "RegistryV2";
62
63
  exports.PUBLIC_RESERVED_KEYWORD = 'public';
63
64
  class RegistryV2 {
@@ -397,20 +398,66 @@ class RegistryV2 {
397
398
  });
398
399
  }
399
400
  downloadArtifact(fullName_1) {
400
- return __awaiter(this, arguments, void 0, function* (fullName, version = 'latest') {
401
- var buffer;
401
+ return __awaiter(this, arguments, void 0, function* (fullName, version = 'latest', log) {
402
+ var _a;
402
403
  const packageData = yield this.getPackage(fullName, version);
404
+ const chunks = [];
405
+ let buffer;
406
+ var logProgress;
407
+ if (log) {
408
+ logProgress = new cliProgress.SingleBar({
409
+ clearOnComplete: true,
410
+ hideCursor: true,
411
+ format: `${fullName} ${version} [{bar}] {percentage}% | {value}/{total} bytes`,
412
+ barGlue: '>'
413
+ }, cliProgress.Presets.legacy);
414
+ }
403
415
  try {
404
- buffer = (yield this._axiosInstance.get(packageData.download_link, {
416
+ const response = yield this._axiosInstance.get(packageData.download_link, {
405
417
  headers: {
406
- 'Accept': 'application/octet-stream',
418
+ Accept: 'application/octet-stream',
407
419
  },
408
420
  maxRedirects: 10,
409
- responseType: 'arraybuffer',
421
+ responseType: 'stream',
410
422
  validateStatus: s => s >= 200 && s < 400,
411
- })).data;
423
+ });
424
+ const totalBytes = Number((_a = response.headers['content-length']) !== null && _a !== void 0 ? _a : 0);
425
+ let downloadedBytes = 0;
426
+ if (log) {
427
+ if (totalBytes > 0) {
428
+ trm_commons_1.Logger.forceStop();
429
+ logProgress.start(totalBytes, 0);
430
+ }
431
+ else {
432
+ trm_commons_1.Logger.warning('content-length header missing, percentage progress is unavailable');
433
+ }
434
+ }
435
+ yield new Promise((resolve, reject) => {
436
+ response.data.on('data', (chunk) => {
437
+ chunks.push(chunk);
438
+ downloadedBytes += chunk.length;
439
+ if (log) {
440
+ if (totalBytes > 0) {
441
+ logProgress.update(downloadedBytes);
442
+ }
443
+ }
444
+ });
445
+ response.data.on('end', () => resolve());
446
+ response.data.on('error', reject);
447
+ });
448
+ if (log) {
449
+ if (totalBytes > 0) {
450
+ logProgress.stop();
451
+ }
452
+ }
453
+ buffer = Buffer.concat(chunks);
412
454
  }
413
455
  catch (e) {
456
+ try {
457
+ logProgress.stop();
458
+ }
459
+ catch (_b) {
460
+ }
414
461
  trm_commons_1.Logger.error(e.toString(), true);
415
462
  trm_commons_1.Logger.error(`Failed to fetch package at ${packageData.download_link}: ${e.message}`);
416
463
  throw e;
@@ -493,5 +540,68 @@ class RegistryV2 {
493
540
  }
494
541
  });
495
542
  }
543
+ contents(fullName_1) {
544
+ return __awaiter(this, arguments, void 0, function* (fullName, version = 'latest', log) {
545
+ var _a;
546
+ const chunks = [];
547
+ var logProgress;
548
+ if (log) {
549
+ logProgress = new cliProgress.SingleBar({
550
+ clearOnComplete: true,
551
+ hideCursor: true,
552
+ format: `${fullName} ${version} contents [{bar}] {percentage}% | {value}/{total} bytes`,
553
+ barGlue: '>'
554
+ }, cliProgress.Presets.legacy);
555
+ }
556
+ try {
557
+ const response = yield this._axiosInstance.get(`/package/contents/${fullName}`, {
558
+ params: {
559
+ version: encodeURIComponent(version),
560
+ },
561
+ responseType: 'stream',
562
+ });
563
+ const totalBytes = Number((_a = response.headers['content-length']) !== null && _a !== void 0 ? _a : 0);
564
+ let downloadedBytes = 0;
565
+ if (log) {
566
+ if (totalBytes > 0) {
567
+ trm_commons_1.Logger.forceStop();
568
+ logProgress.start(totalBytes, 0);
569
+ }
570
+ else {
571
+ trm_commons_1.Logger.warning('content-length header missing, percentage progress is unavailable');
572
+ }
573
+ }
574
+ yield new Promise((resolve, reject) => {
575
+ response.data.on('data', (chunk) => {
576
+ chunks.push(chunk);
577
+ downloadedBytes += chunk.length;
578
+ if (log) {
579
+ if (totalBytes > 0) {
580
+ logProgress.update(downloadedBytes);
581
+ }
582
+ }
583
+ });
584
+ response.data.on('end', () => resolve());
585
+ response.data.on('error', reject);
586
+ });
587
+ if (log) {
588
+ if (totalBytes > 0) {
589
+ logProgress.stop();
590
+ }
591
+ }
592
+ const buffer = Buffer.concat(chunks);
593
+ return JSON.parse(buffer.toString('utf-8'));
594
+ }
595
+ catch (e) {
596
+ try {
597
+ logProgress.stop();
598
+ }
599
+ catch (_b) { }
600
+ trm_commons_1.Logger.error(e.toString(), true);
601
+ trm_commons_1.Logger.error(`Failed to fetch contents for ${fullName}: ${e.message}`);
602
+ throw e;
603
+ }
604
+ });
605
+ }
496
606
  }
497
607
  exports.RegistryV2 = RegistryV2;
@@ -23,15 +23,13 @@ export interface ISystemConnector extends ISystemConnectorBase {
23
23
  writeBinaryFile: (filePath: string, binary: Buffer) => Promise<void>;
24
24
  createTocTransport: (text: components.AS4TEXT, target: components.TR_TARGET) => Promise<components.TRKORR>;
25
25
  createWbTransport: (text: components.AS4TEXT, target?: components.TR_TARGET) => Promise<components.TRKORR>;
26
+ createCustTransport: (text: components.AS4TEXT, target?: components.TR_TARGET) => Promise<components.TRKORR>;
26
27
  setTransportDoc: (trkorr: components.TRKORR, doc: struct.TLINE[]) => Promise<void>;
27
28
  removeComments: (trkorr: components.TRKORR, object: components.TROBJTYPE) => Promise<void>;
28
29
  addToTransportRequest: (trkorr: components.TRKORR, content: struct.E071[], lock: boolean) => Promise<void>;
29
30
  repositoryEnvironment: (objectType: components.SEU_OBJ, objectName: components.SOBJ_NAME) => Promise<struct.SENVI[]>;
30
31
  deleteTrkorr: (trkorr: components.TRKORR) => Promise<void>;
31
32
  releaseTrkorr: (trkorr: components.TRKORR, lock: boolean, timeout?: number) => Promise<void>;
32
- addSkipTrkorr: (trkorr: components.TRKORR) => Promise<void>;
33
- removeSkipTrkorr: (trkorr: components.TRKORR) => Promise<void>;
34
- addSrcTrkorr: (trkorr: components.TRKORR) => Promise<void>;
35
33
  readTmsQueue: (target: components.TMSSYSNAM) => Promise<struct.STMSIQREQ[]>;
36
34
  createPackage: (scompkdtln: struct.SCOMPKDTLN) => Promise<void>;
37
35
  getDefaultTransportLayer: () => Promise<components.DEVLAYER>;
@@ -42,14 +40,12 @@ export interface ISystemConnector extends ISystemConnectorBase {
42
40
  setInstallDevc: (installDevc: struct.ZTRM_INSTALLDEVC[]) => Promise<void>;
43
41
  getObjectsList: () => Promise<struct.KO100[]>;
44
42
  renameTransportRequest: (trkorr: components.TRKORR, as4text: components.AS4TEXT) => Promise<void>;
45
- setPackageIntegrity: (integrity: struct.ZTRM_INTEGRITY) => Promise<void>;
46
43
  addTranslationToTr: (trkorr: components.TRKORR, devclassFilter: struct.LXE_TT_PACKG_LINE[]) => Promise<void>;
47
44
  trCopy: (from: components.TRKORR, to: components.TRKORR, doc: boolean) => Promise<void>;
48
45
  getTransportObjectsBulk?: (trkorr: components.TRKORR) => Promise<struct.TADIR[]>;
49
46
  getExistingObjectsBulk?: (objects: struct.TADIR[]) => Promise<struct.TADIR[]>;
50
47
  addNamespace: (namespace: components.NAMESPACE, replicense: components.TRNLICENSE, texts: struct.TRNSPACETT[]) => Promise<void>;
51
48
  getMessage: (data: SapMessage) => Promise<string>;
52
- migrateTransport: (trkorr: components.TRKORR) => Promise<components.ZTRM_TRKORR>;
53
49
  deleteTmsTransport: (trkorr: components.TRKORR, system: components.TMSSYSNAM) => Promise<void>;
54
50
  refreshTransportTmsTxt: (trkorr: components.TRKORR) => Promise<void>;
55
51
  getDotAbapgit: (devclass: components.DEVCLASS) => Promise<Buffer>;
@@ -67,4 +63,7 @@ export interface ISystemConnector extends ISystemConnectorBase {
67
63
  deleteLogPolling: (logID: components.ZTRM_POLLING_ID) => Promise<void>;
68
64
  readLogPolling: (logID: components.ZTRM_POLLING_ID) => Promise<components.ZTRM_POLLING_LAST_MSG>;
69
65
  getTransportImportStatus: (trkorr: components.TRKORR, system: components.TMSSYSNAM) => Promise<struct.TPSTAT>;
66
+ getObjectsLocks: (objects: struct.TADIR_KEY[]) => Promise<struct.ZTRM_OBJ_LOCK[]>;
67
+ updateTrmPackageData: (data: any) => Promise<void>;
68
+ getTransportTargets: () => Promise<components.TARSYSTEM[]>;
70
69
  }
@@ -1,19 +1,16 @@
1
1
  import { AbstractRegistry } from "../registry";
2
2
  import * as components from "../client/components";
3
3
  import * as struct from "../client/struct";
4
- import { Transport } from "../transport";
5
4
  import { TrmPackage } from "../trmPackage";
6
5
  import { InstallPackage } from "./InstallPackage";
7
6
  import { ObjectDependencies, PackageDependencies } from "../dependencies";
8
7
  export interface ISystemConnectorBase {
9
8
  getTransportStatus: (trkorr: components.TRKORR) => Promise<string>;
10
- getWbTransports: (trmPackage?: string | TrmPackage) => Promise<Transport[]>;
11
9
  getSourceTrkorr: () => Promise<components.TRKORR[]>;
12
10
  getIgnoredTrkorr: () => Promise<components.TRKORR[]>;
13
11
  getObject: (pgmid: components.PGMID, object: components.TROBJTYPE, objName: components.SOBJ_NAME) => Promise<struct.TADIR>;
14
12
  getInstalledPackages: (includeSoruces: boolean, refresh?: boolean, includeLocals?: boolean) => Promise<TrmPackage[]>;
15
13
  getDevclass: (devclass: components.DEVCLASS) => Promise<struct.TDEVC>;
16
- getTransportTargets: () => Promise<struct.TMSCSYS[]>;
17
14
  getSubpackages: (devclass: components.DEVCLASS) => Promise<struct.TDEVC[]>;
18
15
  getDevclassObjects: (devclass: components.DEVCLASS, includeSubpackages: boolean) => Promise<struct.TADIR[]>;
19
16
  getInstallPackages: (packageName: string, registry: AbstractRegistry) => Promise<InstallPackage[]>;
@@ -31,7 +31,7 @@ export declare class RESTSystemConnector extends SystemConnectorBase implements
31
31
  protected listDevclassObjects(devclass: DEVCLASS): Promise<TADIR[]>;
32
32
  protected tdevcInterface(devclass: components.DEVCLASS, parentcl?: components.DEVCLASS, rmParentCl?: boolean, devlayer?: components.DEVLAYER): Promise<void>;
33
33
  protected getR3transInfo(): Promise<string>;
34
- protected getInstalledPackagesBackend(): Promise<struct.ZTY_TRM_PACKAGE[]>;
34
+ protected getInstalledPackagesBackend(): Promise<struct.ZTRM_PACKAGE[]>;
35
35
  protected getPackageDependenciesInternal(devclass: DEVCLASS, includeSubPackages: boolean, logId?: components.ZTRM_POLLING_ID): Promise<struct.ZTRM_OBJECT_DEPENDENCIES[]>;
36
36
  protected getObjectDependenciesInternal(object: components.TROBJTYPE, objName: components.SOBJ_NAME): Promise<struct.ZTRM_OBJECT_DEPENDENCY[]>;
37
37
  getConnectionData(): RESTConnection;
@@ -46,15 +46,13 @@ export declare class RESTSystemConnector extends SystemConnectorBase implements
46
46
  writeBinaryFile(filePath: string, binary: Buffer): Promise<void>;
47
47
  createTocTransport(text: components.AS4TEXT, target: components.TR_TARGET): Promise<components.TRKORR>;
48
48
  createWbTransport(text: components.AS4TEXT, target?: components.TR_TARGET): Promise<components.TRKORR>;
49
+ createCustTransport(text: components.AS4TEXT, target?: components.TR_TARGET): Promise<components.TRKORR>;
49
50
  setTransportDoc(trkorr: components.TRKORR, doc: struct.TLINE[]): Promise<void>;
50
51
  removeComments(trkorr: components.TRKORR, object: components.TROBJTYPE): Promise<void>;
51
52
  addToTransportRequest(trkorr: components.TRKORR, content: struct.E071[], lock: boolean): Promise<void>;
52
53
  repositoryEnvironment(objectType: components.SEU_OBJ, objectName: components.SOBJ_NAME): Promise<struct.SENVI[]>;
53
54
  deleteTrkorr(trkorr: components.TRKORR): Promise<void>;
54
55
  releaseTrkorr(trkorr: components.TRKORR, lock: boolean, timeout?: number): Promise<void>;
55
- addSkipTrkorr(trkorr: components.TRKORR): Promise<void>;
56
- removeSkipTrkorr(trkorr: components.TRKORR): Promise<void>;
57
- addSrcTrkorr(trkorr: components.TRKORR): Promise<void>;
58
56
  readTmsQueue(target: components.TMSSYSNAM): Promise<struct.STMSIQREQ[]>;
59
57
  createPackage(scompkdtln: struct.SCOMPKDTLN): Promise<void>;
60
58
  getDefaultTransportLayer(): Promise<components.DEVLAYER>;
@@ -65,14 +63,12 @@ export declare class RESTSystemConnector extends SystemConnectorBase implements
65
63
  setInstallDevc(installDevc: struct.ZTRM_INSTALLDEVC[]): Promise<void>;
66
64
  getObjectsList(): Promise<struct.KO100[]>;
67
65
  renameTransportRequest(trkorr: components.TRKORR, as4text: components.AS4TEXT): Promise<void>;
68
- setPackageIntegrity(integrity: struct.ZTRM_INTEGRITY): Promise<void>;
69
66
  addTranslationToTr(trkorr: components.TRKORR, devclassFilter: struct.LXE_TT_PACKG_LINE[]): Promise<void>;
70
67
  trCopy(from: components.TRKORR, to: components.TRKORR, doc: boolean): Promise<void>;
71
68
  getTransportObjectsBulk(trkorr: components.TRKORR): Promise<TADIR[]>;
72
69
  getExistingObjectsBulk(objects: struct.TADIR[]): Promise<TADIR[]>;
73
70
  addNamespace(namespace: components.NAMESPACE, replicense: components.TRNLICENSE, texts: struct.TRNSPACETT[]): Promise<void>;
74
71
  getMessage(data: SapMessage): Promise<string>;
75
- migrateTransport(trkorr: components.TRKORR): Promise<components.ZTRM_TRKORR>;
76
72
  deleteTmsTransport(trkorr: components.TRKORR, system: components.TMSSYSNAM): Promise<void>;
77
73
  refreshTransportTmsTxt(trkorr: components.TRKORR): Promise<void>;
78
74
  getDotAbapgit(devclass: components.DEVCLASS): Promise<Buffer>;
@@ -90,4 +86,7 @@ export declare class RESTSystemConnector extends SystemConnectorBase implements
90
86
  deleteLogPolling(logID: components.ZTRM_POLLING_ID): Promise<void>;
91
87
  readLogPolling(logID: components.ZTRM_POLLING_ID): Promise<components.ZTRM_POLLING_LAST_MSG>;
92
88
  getTransportImportStatus(trkorr: components.TRKORR, system: components.TMSSYSNAM): Promise<struct.TPSTAT>;
89
+ getObjectsLocks(objects: struct.TADIR_KEY[]): Promise<struct.ZTRM_OBJ_LOCK[]>;
90
+ updateTrmPackageData(data: any): Promise<void>;
91
+ getTransportTargets(): Promise<components.TARSYSTEM[]>;
93
92
  }
@@ -176,6 +176,11 @@ class RESTSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
176
176
  return this._client.createWbTransport(text, target);
177
177
  });
178
178
  }
179
+ createCustTransport(text, target) {
180
+ return __awaiter(this, void 0, void 0, function* () {
181
+ return this._client.createCustTransport(text, target);
182
+ });
183
+ }
179
184
  setTransportDoc(trkorr, doc) {
180
185
  return __awaiter(this, void 0, void 0, function* () {
181
186
  return this._client.setTransportDoc(trkorr, doc);
@@ -206,21 +211,6 @@ class RESTSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
206
211
  return this._client.releaseTrkorr(trkorr, lock, timeout);
207
212
  });
208
213
  }
209
- addSkipTrkorr(trkorr) {
210
- return __awaiter(this, void 0, void 0, function* () {
211
- return this._client.addSkipTrkorr(trkorr);
212
- });
213
- }
214
- removeSkipTrkorr(trkorr) {
215
- return __awaiter(this, void 0, void 0, function* () {
216
- return this._client.removeSkipTrkorr(trkorr);
217
- });
218
- }
219
- addSrcTrkorr(trkorr) {
220
- return __awaiter(this, void 0, void 0, function* () {
221
- return this._client.addSrcTrkorr(trkorr);
222
- });
223
- }
224
214
  readTmsQueue(target) {
225
215
  return __awaiter(this, void 0, void 0, function* () {
226
216
  return this._client.readTmsQueue(target);
@@ -271,11 +261,6 @@ class RESTSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
271
261
  return this._client.renameTransportRequest(trkorr, as4text);
272
262
  });
273
263
  }
274
- setPackageIntegrity(integrity) {
275
- return __awaiter(this, void 0, void 0, function* () {
276
- return this._client.setPackageIntegrity(integrity);
277
- });
278
- }
279
264
  addTranslationToTr(trkorr, devclassFilter) {
280
265
  return __awaiter(this, void 0, void 0, function* () {
281
266
  return this._client.addTranslationToTr(trkorr, devclassFilter);
@@ -306,11 +291,6 @@ class RESTSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
306
291
  return this._client.getMessage(data);
307
292
  });
308
293
  }
309
- migrateTransport(trkorr) {
310
- return __awaiter(this, void 0, void 0, function* () {
311
- return this._client.migrateTransport(trkorr);
312
- });
313
- }
314
294
  deleteTmsTransport(trkorr, system) {
315
295
  return __awaiter(this, void 0, void 0, function* () {
316
296
  return this._client.deleteTmsTransport(trkorr, system);
@@ -369,5 +349,20 @@ class RESTSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
369
349
  return this._client.getTransportImportStatus(trkorr, system);
370
350
  });
371
351
  }
352
+ getObjectsLocks(objects) {
353
+ return __awaiter(this, void 0, void 0, function* () {
354
+ return this._client.getObjectsLocks(objects);
355
+ });
356
+ }
357
+ updateTrmPackageData(data) {
358
+ return __awaiter(this, void 0, void 0, function* () {
359
+ return this._client.updateTrmPackageData(data);
360
+ });
361
+ }
362
+ getTransportTargets() {
363
+ return __awaiter(this, void 0, void 0, function* () {
364
+ return this._client.getTransportTargets();
365
+ });
366
+ }
372
367
  }
373
368
  exports.RESTSystemConnector = RESTSystemConnector;
@@ -31,7 +31,7 @@ export declare class RFCSystemConnector extends SystemConnectorBase implements I
31
31
  protected listDevclassObjects(devclass: DEVCLASS): Promise<TADIR[]>;
32
32
  protected tdevcInterface(devclass: components.DEVCLASS, parentcl?: components.DEVCLASS, rmParentCl?: boolean, devlayer?: components.DEVLAYER): Promise<void>;
33
33
  protected getR3transInfo(): Promise<string>;
34
- protected getInstalledPackagesBackend(): Promise<struct.ZTY_TRM_PACKAGE[]>;
34
+ protected getInstalledPackagesBackend(): Promise<struct.ZTRM_PACKAGE[]>;
35
35
  protected getPackageDependenciesInternal(devclass: DEVCLASS, includeSubPackages: boolean, logId?: components.ZTRM_POLLING_ID): Promise<struct.ZTRM_OBJECT_DEPENDENCIES[]>;
36
36
  protected getObjectDependenciesInternal(object: components.TROBJTYPE, objName: components.SOBJ_NAME): Promise<struct.ZTRM_OBJECT_DEPENDENCY[]>;
37
37
  getConnectionData(): RFCConnection;
@@ -46,15 +46,13 @@ export declare class RFCSystemConnector extends SystemConnectorBase implements I
46
46
  writeBinaryFile(filePath: string, binary: Buffer): Promise<void>;
47
47
  createTocTransport(text: components.AS4TEXT, target: components.TR_TARGET): Promise<components.TRKORR>;
48
48
  createWbTransport(text: components.AS4TEXT, target?: components.TR_TARGET): Promise<components.TRKORR>;
49
+ createCustTransport(text: components.AS4TEXT, target?: components.TR_TARGET): Promise<components.TRKORR>;
49
50
  setTransportDoc(trkorr: components.TRKORR, doc: struct.TLINE[]): Promise<void>;
50
51
  removeComments(trkorr: components.TRKORR, object: components.TROBJTYPE): Promise<void>;
51
52
  addToTransportRequest(trkorr: components.TRKORR, content: struct.E071[], lock: boolean): Promise<void>;
52
53
  repositoryEnvironment(objectType: components.SEU_OBJ, objectName: components.SOBJ_NAME): Promise<struct.SENVI[]>;
53
54
  deleteTrkorr(trkorr: components.TRKORR): Promise<void>;
54
55
  releaseTrkorr(trkorr: components.TRKORR, lock: boolean, timeout?: number): Promise<void>;
55
- addSkipTrkorr(trkorr: components.TRKORR): Promise<void>;
56
- removeSkipTrkorr(trkorr: components.TRKORR): Promise<void>;
57
- addSrcTrkorr(trkorr: components.TRKORR): Promise<void>;
58
56
  readTmsQueue(target: components.TMSSYSNAM): Promise<struct.STMSIQREQ[]>;
59
57
  createPackage(scompkdtln: struct.SCOMPKDTLN): Promise<void>;
60
58
  getDefaultTransportLayer(): Promise<components.DEVLAYER>;
@@ -65,12 +63,10 @@ export declare class RFCSystemConnector extends SystemConnectorBase implements I
65
63
  setInstallDevc(installDevc: struct.ZTRM_INSTALLDEVC[]): Promise<void>;
66
64
  getObjectsList(): Promise<struct.KO100[]>;
67
65
  renameTransportRequest(trkorr: components.TRKORR, as4text: components.AS4TEXT): Promise<void>;
68
- setPackageIntegrity(integrity: struct.ZTRM_INTEGRITY): Promise<void>;
69
66
  addTranslationToTr(trkorr: components.TRKORR, devclassFilter: struct.LXE_TT_PACKG_LINE[]): Promise<void>;
70
67
  trCopy(from: components.TRKORR, to: components.TRKORR, doc: boolean): Promise<void>;
71
68
  addNamespace(namespace: components.NAMESPACE, replicense: components.TRNLICENSE, texts: struct.TRNSPACETT[]): Promise<void>;
72
69
  getMessage(data: SapMessage): Promise<string>;
73
- migrateTransport(trkorr: components.TRKORR): Promise<components.ZTRM_TRKORR>;
74
70
  deleteTmsTransport(trkorr: components.TRKORR, system: components.TMSSYSNAM): Promise<void>;
75
71
  refreshTransportTmsTxt(trkorr: components.TRKORR): Promise<void>;
76
72
  getDotAbapgit(devclass: components.DEVCLASS): Promise<Buffer>;
@@ -88,4 +84,7 @@ export declare class RFCSystemConnector extends SystemConnectorBase implements I
88
84
  deleteLogPolling(logID: components.ZTRM_POLLING_ID): Promise<void>;
89
85
  readLogPolling(logID: components.ZTRM_POLLING_ID): Promise<components.ZTRM_POLLING_LAST_MSG>;
90
86
  getTransportImportStatus(trkorr: components.TRKORR, system: components.TMSSYSNAM): Promise<struct.TPSTAT>;
87
+ getObjectsLocks(objects: struct.TADIR_KEY[]): Promise<struct.ZTRM_OBJ_LOCK[]>;
88
+ updateTrmPackageData(data: any): Promise<void>;
89
+ getTransportTargets(): Promise<components.TARSYSTEM[]>;
91
90
  }