trm-core 8.1.4 → 8.2.1

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 (92) hide show
  1. package/changelog.txt +10 -0
  2. package/dist/actions/index.d.ts +0 -1
  3. package/dist/actions/index.js +0 -1
  4. package/dist/actions/install/generateDevclass.js +3 -1
  5. package/dist/actions/publish/findDependencies.js +81 -65
  6. package/dist/actions/publish/getSourceCode.js +1 -1
  7. package/dist/client/RESTClient.d.ts +5 -0
  8. package/dist/client/RESTClient.js +52 -0
  9. package/dist/client/RFCClient.d.ts +5 -0
  10. package/dist/client/RFCClient.js +44 -0
  11. package/dist/client/components/DDLENG.d.ts +1 -0
  12. package/dist/client/components/TABFDPOS.d.ts +1 -0
  13. package/dist/client/components/TABFDPOS.js +2 -0
  14. package/dist/client/components/TPCLASS.d.ts +1 -0
  15. package/dist/client/components/TPCLASS.js +2 -0
  16. package/dist/client/components/ZTRM_POLLING_EVENT.d.ts +1 -0
  17. package/dist/client/components/ZTRM_POLLING_EVENT.js +2 -0
  18. package/dist/client/components/ZTRM_POLLING_ID.d.ts +1 -0
  19. package/dist/client/components/ZTRM_POLLING_ID.js +2 -0
  20. package/dist/client/components/ZTRM_POLLING_LAST_MSG.d.ts +1 -0
  21. package/dist/client/components/ZTRM_POLLING_LAST_MSG.js +2 -0
  22. package/dist/client/components/index.d.ts +6 -0
  23. package/dist/client/components/index.js +6 -0
  24. package/dist/client/struct/DD03L.d.ts +6 -0
  25. package/dist/client/struct/DD03L.js +2 -0
  26. package/dist/client/struct/TDEVC.d.ts +3 -1
  27. package/dist/client/struct/ZTRM_OBJECT_DEPENDENCIES.d.ts +8 -0
  28. package/dist/client/struct/ZTRM_OBJECT_DEPENDENCIES.js +2 -0
  29. package/dist/client/struct/ZTRM_OBJECT_DEPENDENCY.d.ts +8 -0
  30. package/dist/client/struct/ZTRM_OBJECT_DEPENDENCY.js +2 -0
  31. package/dist/client/struct/index.d.ts +3 -0
  32. package/dist/client/struct/index.js +3 -0
  33. package/dist/commons/getNodePackage.d.ts +1 -1
  34. package/dist/commons/getNodePackage.js +25 -91
  35. package/dist/dependencies/ObjectDependencies.d.ts +22 -0
  36. package/dist/dependencies/ObjectDependencies.js +88 -0
  37. package/dist/dependencies/PackageDependencies.d.ts +34 -0
  38. package/dist/dependencies/PackageDependencies.js +135 -0
  39. package/dist/dependencies/index.d.ts +2 -0
  40. package/dist/{dependency → dependencies}/index.js +2 -3
  41. package/dist/index.d.ts +1 -1
  42. package/dist/index.js +1 -1
  43. package/dist/systemConnector/ISystemConnector.d.ts +5 -1
  44. package/dist/systemConnector/ISystemConnectorBase.d.ts +5 -0
  45. package/dist/systemConnector/RESTSystemConnector.d.ts +9 -2
  46. package/dist/systemConnector/RESTSystemConnector.js +30 -5
  47. package/dist/systemConnector/RFCSystemConnector.d.ts +7 -0
  48. package/dist/systemConnector/RFCSystemConnector.js +26 -1
  49. package/dist/systemConnector/SystemConnector.d.ts +10 -1
  50. package/dist/systemConnector/SystemConnector.js +56 -2
  51. package/dist/systemConnector/SystemConnectorBase.d.ts +19 -11
  52. package/dist/systemConnector/SystemConnectorBase.js +96 -5
  53. package/package.json +3 -3
  54. package/dist/actions/findDependencies/index.d.ts +0 -66
  55. package/dist/actions/findDependencies/index.js +0 -54
  56. package/dist/actions/findDependencies/init.d.ts +0 -3
  57. package/dist/actions/findDependencies/init.js +0 -45
  58. package/dist/actions/findDependencies/parseSenvi.d.ts +0 -3
  59. package/dist/actions/findDependencies/parseSenvi.js +0 -128
  60. package/dist/actions/findDependencies/print.d.ts +0 -3
  61. package/dist/actions/findDependencies/print.js +0 -127
  62. package/dist/actions/findDependencies/readRepositoryEnvironment.d.ts +0 -3
  63. package/dist/actions/findDependencies/readRepositoryEnvironment.js +0 -54
  64. package/dist/actions/findDependencies/setObjects.d.ts +0 -3
  65. package/dist/actions/findDependencies/setObjects.js +0 -49
  66. package/dist/actions/findDependencies/setTrmDependencies.d.ts +0 -3
  67. package/dist/actions/findDependencies/setTrmDependencies.js +0 -207
  68. package/dist/dependency/IParser.d.ts +0 -10
  69. package/dist/dependency/SenviParser.d.ts +0 -6
  70. package/dist/dependency/SenviParser.js +0 -72
  71. package/dist/dependency/index.d.ts +0 -3
  72. package/dist/dependency/objects/ClasSenviParser.d.ts +0 -7
  73. package/dist/dependency/objects/ClasSenviParser.js +0 -24
  74. package/dist/dependency/objects/DomaSenviParser.d.ts +0 -7
  75. package/dist/dependency/objects/DomaSenviParser.js +0 -24
  76. package/dist/dependency/objects/DtelSenviParser.d.ts +0 -7
  77. package/dist/dependency/objects/DtelSenviParser.js +0 -24
  78. package/dist/dependency/objects/FugrSenviParser.d.ts +0 -7
  79. package/dist/dependency/objects/FugrSenviParser.js +0 -24
  80. package/dist/dependency/objects/FuncSenviParser.d.ts +0 -7
  81. package/dist/dependency/objects/FuncSenviParser.js +0 -34
  82. package/dist/dependency/objects/OmSenviParser.d.ts +0 -7
  83. package/dist/dependency/objects/OmSenviParser.js +0 -23
  84. package/dist/dependency/objects/ProgSenviParser.d.ts +0 -7
  85. package/dist/dependency/objects/ProgSenviParser.js +0 -24
  86. package/dist/dependency/objects/TablSenviParser.d.ts +0 -7
  87. package/dist/dependency/objects/TablSenviParser.js +0 -24
  88. package/dist/dependency/objects/ViewSenviParser.d.ts +0 -7
  89. package/dist/dependency/objects/ViewSenviParser.js +0 -24
  90. package/dist/dependency/objects/index.d.ts +0 -8
  91. package/dist/dependency/objects/index.js +0 -24
  92. /package/dist/{dependency/IParser.js → client/components/DDLENG.js} +0 -0
@@ -0,0 +1,22 @@
1
+ import { DEVCLASS, SOBJ_NAME, TROBJTYPE, ZTRM_OBJECT_DEPENDENCY } from "../client";
2
+ import { TrmPackage } from "../trmPackage";
3
+ export type DependenciesGenericTable = {
4
+ tabname: string;
5
+ tabkey: any[];
6
+ };
7
+ export declare class ObjectDependencies {
8
+ readonly object: TROBJTYPE;
9
+ readonly objName: SOBJ_NAME;
10
+ readonly tables: any;
11
+ trmPackages: {
12
+ trmPackage: TrmPackage;
13
+ dependencies: DependenciesGenericTable[];
14
+ }[];
15
+ sapPackages: {
16
+ package: DEVCLASS;
17
+ dependencies: DependenciesGenericTable[];
18
+ }[];
19
+ constructor(object: TROBJTYPE, objName: SOBJ_NAME);
20
+ setDependencies(dependencies: ZTRM_OBJECT_DEPENDENCY[]): Promise<ObjectDependencies>;
21
+ private addTableKey;
22
+ }
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ObjectDependencies = void 0;
13
+ const registry_1 = require("../registry");
14
+ const systemConnector_1 = require("../systemConnector");
15
+ class ObjectDependencies {
16
+ constructor(object, objName) {
17
+ this.object = object;
18
+ this.objName = objName;
19
+ this.tables = {};
20
+ this.trmPackages = [];
21
+ this.sapPackages = [];
22
+ }
23
+ setDependencies(dependencies) {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ for (const d of dependencies) {
26
+ const tabkey = yield this.addTableKey(d.tabname, d.tabkey);
27
+ if (d.trmPackageName) {
28
+ var trmPackage = (yield systemConnector_1.SystemConnector.getInstalledPackages(true, false, true)).find(o => o.compareName(d.trmPackageName) && o.compareRegistry(registry_1.RegistryProvider.getRegistry(d.trmPackageRegistry)));
29
+ if (trmPackage) {
30
+ var iTrmPackage = this.trmPackages.findIndex(o => o.trmPackage.compareName(trmPackage.packageName) && o.trmPackage.compareRegistry(trmPackage.registry));
31
+ if (iTrmPackage < 0) {
32
+ iTrmPackage = this.trmPackages.push({
33
+ trmPackage,
34
+ dependencies: []
35
+ }) - 1;
36
+ }
37
+ var iTabKeys = this.trmPackages[iTrmPackage].dependencies.findIndex(o => o.tabname === d.tabname);
38
+ if (iTabKeys < 0) {
39
+ iTabKeys = this.trmPackages[iTrmPackage].dependencies.push({
40
+ tabname: d.tabname,
41
+ tabkey: []
42
+ }) - 1;
43
+ }
44
+ this.trmPackages[iTrmPackage].dependencies[iTabKeys].tabkey.push(tabkey);
45
+ }
46
+ }
47
+ else if (d.devclass) {
48
+ var iDevclass = this.sapPackages.findIndex(o => o.package === d.devclass);
49
+ if (iDevclass < 0) {
50
+ iDevclass = this.sapPackages.push({
51
+ package: d.devclass,
52
+ dependencies: []
53
+ }) - 1;
54
+ }
55
+ var iTabKeys = this.sapPackages[iDevclass].dependencies.findIndex(o => o.tabname === d.tabname);
56
+ if (iTabKeys < 0) {
57
+ iTabKeys = this.sapPackages[iDevclass].dependencies.push({
58
+ tabname: d.tabname,
59
+ tabkey: []
60
+ }) - 1;
61
+ }
62
+ this.sapPackages[iDevclass].dependencies[iTabKeys].tabkey.push(tabkey);
63
+ }
64
+ }
65
+ return this;
66
+ });
67
+ }
68
+ addTableKey(table, key) {
69
+ return __awaiter(this, void 0, void 0, function* () {
70
+ var offset = 0;
71
+ var parsed = {};
72
+ table = table.trim().toUpperCase();
73
+ var definition = yield systemConnector_1.SystemConnector.getTableKeys(table);
74
+ definition = definition.sort((a, b) => Number(a.position) - Number(b.position));
75
+ if (!this.tables[table]) {
76
+ this.tables[table] = [];
77
+ }
78
+ definition.forEach(def => {
79
+ const len = Number(def.leng);
80
+ parsed[def.fieldname] = key.slice(offset, offset + len);
81
+ offset += len;
82
+ });
83
+ this.tables[table].push(parsed);
84
+ return parsed;
85
+ });
86
+ }
87
+ }
88
+ exports.ObjectDependencies = ObjectDependencies;
@@ -0,0 +1,34 @@
1
+ import { DEVCLASS, TDEVC, ZTRM_OBJECT_DEPENDENCIES } from "../client";
2
+ import { TrmPackage } from "../trmPackage";
3
+ import { ObjectDependencies } from "./ObjectDependencies";
4
+ export type TrmPackageDependency = {
5
+ trmPackage: TrmPackage;
6
+ foundIn: {
7
+ object: string;
8
+ objName: string;
9
+ }[];
10
+ };
11
+ export type AbapPackageDependency = {
12
+ abapPackage: TDEVC;
13
+ isCustomerPackage: boolean;
14
+ entries: {
15
+ tableName: string;
16
+ dependency: {
17
+ tableKey: any;
18
+ foundIn: {
19
+ object: string;
20
+ objName: string;
21
+ }[];
22
+ }[];
23
+ }[];
24
+ };
25
+ export declare class PackageDependencies {
26
+ readonly devclass: DEVCLASS;
27
+ readonly allDependencies: ObjectDependencies[];
28
+ readonly trmPackageDependencies: TrmPackageDependency[];
29
+ readonly abapPackageDependencies: AbapPackageDependency[];
30
+ private devclasses;
31
+ constructor(devclass: DEVCLASS);
32
+ setDependencies(packageDependencies: ZTRM_OBJECT_DEPENDENCIES[], log?: boolean): Promise<PackageDependencies>;
33
+ private getDevclasses;
34
+ }
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ exports.PackageDependencies = void 0;
46
+ const trm_commons_1 = require("trm-commons");
47
+ const systemConnector_1 = require("../systemConnector");
48
+ const ObjectDependencies_1 = require("./ObjectDependencies");
49
+ const _ = __importStar(require("lodash"));
50
+ class PackageDependencies {
51
+ constructor(devclass) {
52
+ this.devclass = devclass;
53
+ this.allDependencies = [];
54
+ this.trmPackageDependencies = [];
55
+ this.abapPackageDependencies = [];
56
+ }
57
+ setDependencies(packageDependencies, log) {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ var i = 1;
60
+ trm_commons_1.Logger.loading(`Analyzing dependencies (0.0%)...`, !log);
61
+ for (const d of packageDependencies) {
62
+ trm_commons_1.Logger.loading(`Analyzing dependencies (${(((i + 1) / packageDependencies.length) * 100).toFixed(1)}%)...`, !log);
63
+ trm_commons_1.Logger.loading(`Analyzing dependencies (${(((i + 1) / packageDependencies.length) * 100).toFixed(1)}%) > ${d.pgmid}${d.object}${d.objName}...`, true);
64
+ i++;
65
+ this.allDependencies.push(yield (new ObjectDependencies_1.ObjectDependencies(d.object, d.objName).setDependencies(d.dependencies || [])));
66
+ }
67
+ trm_commons_1.Logger.loading(`Building dependency tree...`, !log);
68
+ for (const o of this.allDependencies) {
69
+ for (const trmPackage of o.trmPackages) {
70
+ if (trmPackage.trmPackage.getDevclass() !== this.devclass) {
71
+ var depIndex = this.trmPackageDependencies.findIndex(k => k.trmPackage.compareName(trmPackage.trmPackage.packageName) && k.trmPackage.compareRegistry(trmPackage.trmPackage.registry));
72
+ if (depIndex < 0) {
73
+ depIndex = this.trmPackageDependencies.push({
74
+ trmPackage: trmPackage.trmPackage,
75
+ foundIn: []
76
+ }) - 1;
77
+ }
78
+ if (!this.trmPackageDependencies[depIndex].foundIn.find(f => f.object === o.object && f.objName === f.objName)) {
79
+ this.trmPackageDependencies[depIndex].foundIn.push({
80
+ object: o.object,
81
+ objName: o.objName
82
+ });
83
+ }
84
+ }
85
+ }
86
+ for (const sapPackage of o.sapPackages) {
87
+ for (const dep of sapPackage.dependencies) {
88
+ if (!(yield this.getDevclasses()).includes(sapPackage.package)) {
89
+ const root = yield systemConnector_1.SystemConnector.getRootDevclass(sapPackage.package);
90
+ var packageIndex = this.abapPackageDependencies.findIndex(k => k.abapPackage.devclass === root);
91
+ if (packageIndex < 0) {
92
+ const abapPackage = yield systemConnector_1.SystemConnector.getDevclass(root);
93
+ packageIndex = this.abapPackageDependencies.push({
94
+ abapPackage: abapPackage,
95
+ isCustomerPackage: !!abapPackage.tpclass,
96
+ entries: []
97
+ }) - 1;
98
+ }
99
+ var tabIndex = this.abapPackageDependencies[packageIndex].entries.findIndex(k => k.tableName === dep.tabname);
100
+ if (tabIndex < 0) {
101
+ tabIndex = this.abapPackageDependencies[packageIndex].entries.push({
102
+ tableName: dep.tabname,
103
+ dependency: []
104
+ }) - 1;
105
+ }
106
+ dep.tabkey.forEach(tableKey => {
107
+ var tableKeyIndex = this.abapPackageDependencies[packageIndex].entries[tabIndex].dependency.findIndex(k => _.isEqual(k.tableKey, tableKey));
108
+ if (tableKeyIndex < 0) {
109
+ tableKeyIndex = this.abapPackageDependencies[packageIndex].entries[tabIndex].dependency.push({
110
+ tableKey,
111
+ foundIn: []
112
+ }) - 1;
113
+ }
114
+ this.abapPackageDependencies[packageIndex].entries[tabIndex].dependency[tableKeyIndex].foundIn.push({
115
+ object: o.object,
116
+ objName: o.objName
117
+ });
118
+ });
119
+ }
120
+ }
121
+ }
122
+ }
123
+ return this;
124
+ });
125
+ }
126
+ getDevclasses() {
127
+ return __awaiter(this, void 0, void 0, function* () {
128
+ if (!this.devclasses) {
129
+ this.devclasses = [this.devclass].concat((yield systemConnector_1.SystemConnector.getSubpackages(this.devclass)).map(o => o.devclass));
130
+ }
131
+ return this.devclasses;
132
+ });
133
+ }
134
+ }
135
+ exports.PackageDependencies = PackageDependencies;
@@ -0,0 +1,2 @@
1
+ export * from "./PackageDependencies";
2
+ export * from "./ObjectDependencies";
@@ -14,6 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./SenviParser"), exports);
18
- __exportStar(require("./IParser"), exports);
19
- __exportStar(require("./objects"), exports);
17
+ __exportStar(require("./PackageDependencies"), exports);
18
+ __exportStar(require("./ObjectDependencies"), exports);
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@ export * from "./client";
3
3
  export * from "./commons";
4
4
  export * from "./manifest";
5
5
  export * from "./registry";
6
- export * from "./dependency";
6
+ export * from "./dependencies";
7
7
  export * from "./systemConnector";
8
8
  export * from "./transport";
9
9
  export * from "./trmPackage";
package/dist/index.js CHANGED
@@ -19,7 +19,7 @@ __exportStar(require("./client"), exports);
19
19
  __exportStar(require("./commons"), exports);
20
20
  __exportStar(require("./manifest"), exports);
21
21
  __exportStar(require("./registry"), exports);
22
- __exportStar(require("./dependency"), exports);
22
+ __exportStar(require("./dependencies"), exports);
23
23
  __exportStar(require("./systemConnector"), exports);
24
24
  __exportStar(require("./transport"), exports);
25
25
  __exportStar(require("./trmPackage"), exports);
@@ -7,11 +7,12 @@ import { RFCConnection } from "./RFCConnection";
7
7
  import { SystemConnectorSupportedBulk } from "./SystemConnectorSupportedBulk";
8
8
  export interface ISystemConnector extends ISystemConnectorBase {
9
9
  supportedBulk: SystemConnectorSupportedBulk;
10
+ getNewConnection(): ISystemConnector;
10
11
  getConnectionData: () => RFCConnection | RESTConnection;
11
12
  getDest: () => string;
12
13
  getLogonLanguage: (c: boolean) => string;
13
14
  getLogonUser: () => string;
14
- connect: () => Promise<void>;
15
+ connect: (silent: boolean) => Promise<void>;
15
16
  closeConnection: () => Promise<void>;
16
17
  checkConnection: () => Promise<boolean>;
17
18
  ping: () => Promise<string>;
@@ -61,4 +62,7 @@ export interface ISystemConnector extends ISystemConnectorBase {
61
62
  }>;
62
63
  isServerApisAllowed: () => Promise<true | ClientError>;
63
64
  changeTrOwner: (trkorr: components.TRKORR, owner: components.TR_AS4USER) => Promise<void>;
65
+ createLogPolling: (event: components.ZTRM_POLLING_EVENT) => Promise<components.ZTRM_POLLING_ID>;
66
+ deleteLogPolling: (logID: components.ZTRM_POLLING_ID) => Promise<void>;
67
+ readLogPolling: (logID: components.ZTRM_POLLING_ID) => Promise<components.ZTRM_POLLING_LAST_MSG>;
64
68
  }
@@ -4,6 +4,7 @@ import * as struct from "../client/struct";
4
4
  import { Transport } from "../transport";
5
5
  import { TrmPackage } from "../trmPackage";
6
6
  import { InstallPackage } from "./InstallPackage";
7
+ import { ObjectDependencies, PackageDependencies } from "../dependencies";
7
8
  export interface ISystemConnectorBase {
8
9
  getTransportStatus: (trkorr: components.TRKORR) => Promise<string>;
9
10
  getWbTransports: (trmPackage?: string | TrmPackage) => Promise<Transport[]>;
@@ -33,4 +34,8 @@ export interface ISystemConnectorBase {
33
34
  getTrmServerPackage: () => Promise<TrmPackage>;
34
35
  getTrmRestPackage: () => Promise<TrmPackage>;
35
36
  readClassDescriptions: (clsname: components.SEOCLSNAME) => Promise<struct.SEOCLASSTX[]>;
37
+ getPackageDependencies: (devclass: components.DEVCLASS, includeSubPackages: boolean, log?: boolean) => Promise<PackageDependencies>;
38
+ getObjectDependencies: (object: components.TROBJTYPE, objName: components.SOBJ_NAME) => Promise<ObjectDependencies>;
39
+ getTableKeys: (tabname: components.TABNAME) => Promise<struct.DD03L[]>;
40
+ getRootDevclass: (devclass: components.DEVCLASS) => Promise<components.DEVCLASS>;
36
41
  }
@@ -11,13 +11,15 @@ import { SystemConnectorSupportedBulk } from "./SystemConnectorSupportedBulk";
11
11
  export declare class RESTSystemConnector extends SystemConnectorBase implements ISystemConnector {
12
12
  private _connection;
13
13
  private _login;
14
+ private _normalizeEndpoint;
14
15
  private _dest;
15
16
  private _lang;
16
17
  private _user;
17
18
  protected _client: RESTClient;
18
19
  private _isServerApisAllowed;
19
20
  supportedBulk: SystemConnectorSupportedBulk;
20
- constructor(_connection: RESTConnection, _login: Login, normalizeEndpoint?: boolean);
21
+ constructor(_connection: RESTConnection, _login: Login, _normalizeEndpoint?: boolean);
22
+ getNewConnection(): ISystemConnector;
21
23
  protected getSysname(): string;
22
24
  getDest(): string;
23
25
  protected getLangu(c: boolean): string;
@@ -29,9 +31,11 @@ export declare class RESTSystemConnector extends SystemConnectorBase implements
29
31
  protected tdevcInterface(devclass: components.DEVCLASS, parentcl?: components.DEVCLASS, rmParentCl?: boolean, devlayer?: components.DEVLAYER): Promise<void>;
30
32
  protected getR3transInfo(): Promise<string>;
31
33
  protected getInstalledPackagesBackend(): Promise<struct.ZTY_TRM_PACKAGE[]>;
34
+ protected getPackageDependenciesInternal(devclass: DEVCLASS, includeSubPackages: boolean, logId?: components.ZTRM_POLLING_ID): Promise<struct.ZTRM_OBJECT_DEPENDENCIES[]>;
35
+ protected getObjectDependenciesInternal(object: components.TROBJTYPE, objName: components.SOBJ_NAME): Promise<struct.ZTRM_OBJECT_DEPENDENCY[]>;
32
36
  getConnectionData(): RESTConnection;
33
37
  getLogonUser(): string;
34
- connect(): Promise<void>;
38
+ connect(silent?: boolean): Promise<void>;
35
39
  closeConnection(): Promise<void>;
36
40
  checkConnection(): Promise<boolean>;
37
41
  ping(): Promise<string>;
@@ -81,4 +85,7 @@ export declare class RESTSystemConnector extends SystemConnectorBase implements
81
85
  }>;
82
86
  isServerApisAllowed(): Promise<true | ClientError>;
83
87
  changeTrOwner(trkorr: components.TRKORR, owner: components.TR_AS4USER): Promise<void>;
88
+ createLogPolling(event: components.ZTRM_POLLING_EVENT): Promise<components.ZTRM_POLLING_ID>;
89
+ deleteLogPolling(logID: components.ZTRM_POLLING_ID): Promise<void>;
90
+ readLogPolling(logID: components.ZTRM_POLLING_ID): Promise<components.ZTRM_POLLING_LAST_MSG>;
84
91
  }
@@ -20,10 +20,11 @@ const normalize_url_1 = __importDefault(require("@esm2cjs/normalize-url"));
20
20
  const ENDPOINT_RESOURCE_BASE = '/ztrmserver';
21
21
  const NONE_DEST = 'NONE';
22
22
  class RESTSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
23
- constructor(_connection, _login, normalizeEndpoint = true) {
23
+ constructor(_connection, _login, _normalizeEndpoint = true) {
24
24
  super();
25
25
  this._connection = _connection;
26
26
  this._login = _login;
27
+ this._normalizeEndpoint = _normalizeEndpoint;
27
28
  this.supportedBulk = {
28
29
  getTransportObjects: true,
29
30
  getExistingObjects: true
@@ -31,7 +32,7 @@ class RESTSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
31
32
  this._login.user = this._login.user.toUpperCase();
32
33
  this._lang = this._login.lang;
33
34
  this._user = this._login.user;
34
- if (normalizeEndpoint) {
35
+ if (this._normalizeEndpoint) {
35
36
  trm_commons_1.Logger.log(`REST connection data before normalize: ${JSON.stringify(this._connection)}`, true);
36
37
  this._connection.endpoint = (0, normalize_url_1.default)(this._connection.endpoint, {
37
38
  removeTrailingSlash: true
@@ -51,6 +52,9 @@ class RESTSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
51
52
  trm_commons_1.Logger.log(`REST connection data after normalize: ${JSON.stringify(this._connection)}`, true);
52
53
  this._client = new client_1.RESTClient(this._connection.endpoint, this._connection.rfcdest, this._login, this._lang[0]);
53
54
  }
55
+ getNewConnection() {
56
+ return new RESTSystemConnector(this._connection, this._login, this._normalizeEndpoint);
57
+ }
54
58
  getSysname() {
55
59
  return this.getDest();
56
60
  }
@@ -101,6 +105,12 @@ class RESTSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
101
105
  getInstalledPackagesBackend() {
102
106
  return this._client.getInstalledPackagesBackend();
103
107
  }
108
+ getPackageDependenciesInternal(devclass, includeSubPackages, logId) {
109
+ return this._client.getPackageDependencies(devclass, includeSubPackages, logId);
110
+ }
111
+ getObjectDependenciesInternal(object, objName) {
112
+ return this._client.getObjectDependencies(object, objName);
113
+ }
104
114
  getConnectionData() {
105
115
  return this._connection;
106
116
  }
@@ -108,15 +118,15 @@ class RESTSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
108
118
  return this._user;
109
119
  }
110
120
  connect() {
111
- return __awaiter(this, void 0, void 0, function* () {
121
+ return __awaiter(this, arguments, void 0, function* (silent = false) {
112
122
  trm_commons_1.Logger.loading(`Connecting to ${this.getDest()}...`);
113
123
  try {
114
124
  yield this._client.open();
115
125
  this._dest = yield this._client.getDest();
116
- trm_commons_1.Logger.success(`Connected to ${this.getDest()} as ${this._user}.`, false);
126
+ trm_commons_1.Logger.success(`Connected to ${this.getDest()} as ${this._user}.`, silent);
117
127
  }
118
128
  catch (e) {
119
- trm_commons_1.Logger.error(`Connection to ${this.getDest()} as ${this._user} failed.`, false);
129
+ trm_commons_1.Logger.error(`Connection to ${this.getDest()} as ${this._user} failed.`, silent);
120
130
  throw e;
121
131
  }
122
132
  });
@@ -338,5 +348,20 @@ class RESTSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
338
348
  return this._client.changeTrOwner(trkorr, owner);
339
349
  });
340
350
  }
351
+ createLogPolling(event) {
352
+ return __awaiter(this, void 0, void 0, function* () {
353
+ return this._client.createLogPolling(event);
354
+ });
355
+ }
356
+ deleteLogPolling(logID) {
357
+ return __awaiter(this, void 0, void 0, function* () {
358
+ return this._client.deleteLogPolling(logID);
359
+ });
360
+ }
361
+ readLogPolling(logID) {
362
+ return __awaiter(this, void 0, void 0, function* () {
363
+ return this._client.readLogPolling(logID);
364
+ });
365
+ }
341
366
  }
342
367
  exports.RESTSystemConnector = RESTSystemConnector;
@@ -12,12 +12,14 @@ export declare class RFCSystemConnector extends SystemConnectorBase implements I
12
12
  private _connection;
13
13
  private _login;
14
14
  private _traceDir?;
15
+ private _globalNodeModulesPath?;
15
16
  private _lang;
16
17
  private _user;
17
18
  protected _client: RFCClient;
18
19
  private _isServerApisAllowed;
19
20
  supportedBulk: SystemConnectorSupportedBulk;
20
21
  constructor(_connection: RFCConnection, _login: Login, _traceDir?: string, _globalNodeModulesPath?: string);
22
+ getNewConnection(): ISystemConnector;
21
23
  protected getSysname(): string;
22
24
  getDest(): string;
23
25
  protected getLangu(c: boolean): string;
@@ -29,6 +31,8 @@ export declare class RFCSystemConnector extends SystemConnectorBase implements I
29
31
  protected tdevcInterface(devclass: components.DEVCLASS, parentcl?: components.DEVCLASS, rmParentCl?: boolean, devlayer?: components.DEVLAYER): Promise<void>;
30
32
  protected getR3transInfo(): Promise<string>;
31
33
  protected getInstalledPackagesBackend(): Promise<struct.ZTY_TRM_PACKAGE[]>;
34
+ protected getPackageDependenciesInternal(devclass: DEVCLASS, includeSubPackages: boolean, logId?: components.ZTRM_POLLING_ID): Promise<struct.ZTRM_OBJECT_DEPENDENCIES[]>;
35
+ protected getObjectDependenciesInternal(object: components.TROBJTYPE, objName: components.SOBJ_NAME): Promise<struct.ZTRM_OBJECT_DEPENDENCY[]>;
32
36
  getConnectionData(): RFCConnection;
33
37
  getLogonUser(): string;
34
38
  connect(silent?: boolean): Promise<void>;
@@ -79,4 +83,7 @@ export declare class RFCSystemConnector extends SystemConnectorBase implements I
79
83
  }>;
80
84
  isServerApisAllowed(): Promise<true | ClientError>;
81
85
  changeTrOwner(trkorr: components.TRKORR, owner: components.TR_AS4USER): Promise<void>;
86
+ createLogPolling(event: components.ZTRM_POLLING_EVENT): Promise<components.ZTRM_POLLING_ID>;
87
+ deleteLogPolling(logID: components.ZTRM_POLLING_ID): Promise<void>;
88
+ readLogPolling(logID: components.ZTRM_POLLING_ID): Promise<components.ZTRM_POLLING_LAST_MSG>;
82
89
  }
@@ -19,6 +19,7 @@ class RFCSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
19
19
  this._connection = _connection;
20
20
  this._login = _login;
21
21
  this._traceDir = _traceDir;
22
+ this._globalNodeModulesPath = _globalNodeModulesPath;
22
23
  this.supportedBulk = {
23
24
  getTransportObjects: false,
24
25
  getExistingObjects: false
@@ -29,7 +30,10 @@ class RFCSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
29
30
  if (!this._connection.saprouter) {
30
31
  delete this._connection.saprouter;
31
32
  }
32
- this._client = new client_1.RFCClient(Object.assign(Object.assign({}, this._connection), this._login), this._lang[0], this._traceDir, _globalNodeModulesPath);
33
+ this._client = new client_1.RFCClient(Object.assign(Object.assign({}, this._connection), this._login), this._lang[0], this._traceDir, this._globalNodeModulesPath);
34
+ }
35
+ getNewConnection() {
36
+ return new RFCSystemConnector(this._connection, this._login, this._traceDir, this._globalNodeModulesPath);
33
37
  }
34
38
  getSysname() {
35
39
  return this.getDest();
@@ -81,6 +85,12 @@ class RFCSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
81
85
  getInstalledPackagesBackend() {
82
86
  return this._client.getInstalledPackagesBackend();
83
87
  }
88
+ getPackageDependenciesInternal(devclass, includeSubPackages, logId) {
89
+ return this._client.getPackageDependencies(devclass, includeSubPackages, logId);
90
+ }
91
+ getObjectDependenciesInternal(object, objName) {
92
+ return this._client.getObjectDependenciesInternal(object, objName);
93
+ }
84
94
  getConnectionData() {
85
95
  return this._connection;
86
96
  }
@@ -308,5 +318,20 @@ class RFCSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
308
318
  return this._client.changeTrOwner(trkorr, owner);
309
319
  });
310
320
  }
321
+ createLogPolling(event) {
322
+ return __awaiter(this, void 0, void 0, function* () {
323
+ return this._client.createLogPolling(event);
324
+ });
325
+ }
326
+ deleteLogPolling(logID) {
327
+ return __awaiter(this, void 0, void 0, function* () {
328
+ return this._client.deleteLogPolling(logID);
329
+ });
330
+ }
331
+ readLogPolling(logID) {
332
+ return __awaiter(this, void 0, void 0, function* () {
333
+ return this._client.readLogPolling(logID);
334
+ });
335
+ }
311
336
  }
312
337
  exports.RFCSystemConnector = RFCSystemConnector;
@@ -8,14 +8,16 @@ import { SapMessage } from "../client/SapMessage";
8
8
  import * as components from "../client/components";
9
9
  import * as struct from "../client/struct";
10
10
  import { SystemConnectorSupportedBulk } from "./SystemConnectorSupportedBulk";
11
+ import { ObjectDependencies, PackageDependencies } from "../dependencies";
11
12
  export declare namespace SystemConnector {
12
13
  var systemConnector: ISystemConnector;
14
+ function getNewConnection(): ISystemConnector;
13
15
  function getSupportedBulk(): SystemConnectorSupportedBulk;
14
16
  function getConnectionData(): any;
15
17
  function getDest(): string;
16
18
  function getLogonLanguage(c: boolean): string;
17
19
  function getLogonUser(): string;
18
- function connect(): Promise<void>;
20
+ function connect(silent: boolean): Promise<void>;
19
21
  function closeConnection(): Promise<void>;
20
22
  function checkConnection(): Promise<boolean>;
21
23
  function getTransportStatus(trkorr: TRKORR): Promise<string>;
@@ -94,4 +96,11 @@ export declare namespace SystemConnector {
94
96
  function readClassDescriptions(clsname: components.SEOCLSNAME): Promise<struct.SEOCLASSTX[]>;
95
97
  function isServerApisAllowed(): Promise<true | ClientError>;
96
98
  function changeTrOwner(trkorr: components.TRKORR, owner: components.TR_AS4USER): Promise<void>;
99
+ function getPackageDependencies(devclass: components.DEVCLASS, includeSubPackages: boolean, log?: boolean): Promise<PackageDependencies>;
100
+ function getObjectDependencies(object: TROBJTYPE, objName: SOBJ_NAME): Promise<ObjectDependencies>;
101
+ function getTableKeys(tabname: components.TABNAME): Promise<struct.DD03L[]>;
102
+ function getRootDevclass(devclass: DEVCLASS): Promise<DEVCLASS>;
103
+ function createLogPolling(event: components.ZTRM_POLLING_EVENT): Promise<components.ZTRM_POLLING_ID>;
104
+ function deleteLogPolling(logID: components.ZTRM_POLLING_ID): Promise<void>;
105
+ function readLogPolling(logID: components.ZTRM_POLLING_ID): Promise<components.ZTRM_POLLING_LAST_MSG>;
97
106
  }