@mcp-abap-adt/adt-backup 0.1.1 → 0.1.2
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/README.md +32 -0
- package/dist/lib/backup/backupObject.d.ts.map +1 -1
- package/dist/lib/backup/backupObject.js +14 -0
- package/dist/lib/backup/readMetadataXmlForType.d.ts.map +1 -1
- package/dist/lib/backup/readMetadataXmlForType.js +6 -0
- package/dist/lib/backup/readSourceText.d.ts.map +1 -1
- package/dist/lib/backup/readSourceText.js +6 -0
- package/dist/lib/cli/usage.d.ts.map +1 -1
- package/dist/lib/cli/usage.js +1 -0
- package/dist/lib/constants/typeOrder.d.ts.map +1 -1
- package/dist/lib/constants/typeOrder.js +1 -0
- package/dist/lib/dependencies/collectTreeDependencies.d.ts.map +1 -1
- package/dist/lib/dependencies/collectTreeDependencies.js +1 -0
- package/dist/lib/restore/restoreObject.d.ts.map +1 -1
- package/dist/lib/restore/restoreObject.js +13 -0
- package/dist/lib/restore/restoreTreeNode.d.ts.map +1 -1
- package/dist/lib/restore/restoreTreeNode.js +13 -0
- package/dist/lib/tree/buildConfigForNode.d.ts.map +1 -1
- package/dist/lib/tree/buildConfigForNode.js +8 -0
- package/dist/lib/tree/isRestoreImplemented.d.ts.map +1 -1
- package/dist/lib/tree/isRestoreImplemented.js +1 -0
- package/dist/lib/tree/mapAdtTypeToSupported.d.ts.map +1 -1
- package/dist/lib/tree/mapAdtTypeToSupported.js +3 -0
- package/dist/lib/tree/readPayloadForType.d.ts.map +1 -1
- package/dist/lib/tree/readPayloadForType.js +2 -1
- package/dist/lib/types.d.ts +1 -1
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/utils/applyConfigName.d.ts.map +1 -1
- package/dist/lib/utils/applyConfigName.js +3 -0
- package/dist/lib/utils/normalizeType.d.ts.map +1 -1
- package/dist/lib/utils/normalizeType.js +2 -0
- package/dist/lib/verify/findOtherType.d.ts.map +1 -1
- package/dist/lib/verify/findOtherType.js +1 -0
- package/dist/lib/xml/index.d.ts +1 -0
- package/dist/lib/xml/index.d.ts.map +1 -1
- package/dist/lib/xml/index.js +1 -0
- package/dist/lib/xml/parseServiceBindingConfig.d.ts +3 -0
- package/dist/lib/xml/parseServiceBindingConfig.d.ts.map +1 -0
- package/dist/lib/xml/parseServiceBindingConfig.js +70 -0
- package/package.json +10 -10
package/README.md
CHANGED
|
@@ -36,6 +36,9 @@ Use `--no-activate-on-create` or `--no-activate-on-update` to skip activation fo
|
|
|
36
36
|
# Extract / patch a single object payload
|
|
37
37
|
adt-backup extract --input backup.yaml --object class:ZCL_TEST --out ZCL_TEST.abap
|
|
38
38
|
adt-backup patch --input backup.yaml --object class:ZCL_TEST --file ZCL_TEST.abap
|
|
39
|
+
|
|
40
|
+
# Single object backup (Service Binding)
|
|
41
|
+
adt-backup backup --objects serviceBinding:Z_UI_SERVICE --output srvb_backup.yaml --destination TRIAL
|
|
39
42
|
```
|
|
40
43
|
|
|
41
44
|
## Help
|
|
@@ -59,6 +62,35 @@ Use `-v` for main stages, `-vv` for per-object details, and `-vvv` for ADT/conne
|
|
|
59
62
|
|
|
60
63
|
See `docs/roadmap.yaml` for per-object backup/restore status and the plan for remaining types.
|
|
61
64
|
|
|
65
|
+
## Supported Object Types
|
|
66
|
+
|
|
67
|
+
| Object Type | Backup | Restore | Payload |
|
|
68
|
+
|---|---|---|---|
|
|
69
|
+
| `package` | implemented | implemented | metadata-xml |
|
|
70
|
+
| `domain` | implemented | implemented | metadata-xml |
|
|
71
|
+
| `dataElement` | implemented | implemented | metadata-xml |
|
|
72
|
+
| `structure` | implemented | implemented | source |
|
|
73
|
+
| `table` | implemented | implemented | source |
|
|
74
|
+
| `tableType` | implemented | implemented | metadata-xml |
|
|
75
|
+
| `view` | implemented | implemented | source |
|
|
76
|
+
| `functionGroup` | implemented | implemented | metadata-xml |
|
|
77
|
+
| `functionModule` | implemented | implemented | source |
|
|
78
|
+
| `interface` | implemented | implemented | source |
|
|
79
|
+
| `class` | implemented | implemented | source |
|
|
80
|
+
| `program` | implemented | implemented | source |
|
|
81
|
+
| `serviceDefinition` | implemented | implemented | source |
|
|
82
|
+
| `serviceBinding` | implemented | implemented | metadata-xml |
|
|
83
|
+
| `metadataExtension` | implemented | implemented | source |
|
|
84
|
+
| `behaviorDefinition` | implemented | implemented | source |
|
|
85
|
+
| `behaviorImplementation` | implemented | implemented | source |
|
|
86
|
+
| `enhancement` | implemented | implemented | source |
|
|
87
|
+
| `unitTest` | not-implemented | not-implemented | n/a |
|
|
88
|
+
| `cdsUnitTest` | not-implemented | not-implemented | n/a |
|
|
89
|
+
|
|
90
|
+
## Smoke Checklist
|
|
91
|
+
|
|
92
|
+
When your landscape is ready, use `docs/SMOKE_CHECKLIST.md` for a focused backup/restore/verify checklist.
|
|
93
|
+
|
|
62
94
|
## Changelog
|
|
63
95
|
|
|
64
96
|
See [CHANGELOG.md](./CHANGELOG.md) for a history of changes.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backupObject.d.ts","sourceRoot":"","sources":["../../../src/lib/backup/backupObject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EAGV,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAgB,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"backupObject.d.ts","sourceRoot":"","sources":["../../../src/lib/backup/backupObject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EAGV,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAgB,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAcvE,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,YAAY,CAAC,CA6OvB"}
|
|
@@ -9,6 +9,7 @@ const extractMetadata_1 = require("../xml/extractMetadata");
|
|
|
9
9
|
const parseDataElementConfig_1 = require("../xml/parseDataElementConfig");
|
|
10
10
|
const parseDomainConfig_1 = require("../xml/parseDomainConfig");
|
|
11
11
|
const parsePackageConfig_1 = require("../xml/parsePackageConfig");
|
|
12
|
+
const parseServiceBindingConfig_1 = require("../xml/parseServiceBindingConfig");
|
|
12
13
|
const readBasicMetadata_1 = require("./readBasicMetadata");
|
|
13
14
|
const readMetadataXmlForType_1 = require("./readMetadataXmlForType");
|
|
14
15
|
const readSourceText_1 = require("./readSourceText");
|
|
@@ -92,6 +93,19 @@ async function backupObject(client, spec) {
|
|
|
92
93
|
source,
|
|
93
94
|
};
|
|
94
95
|
}
|
|
96
|
+
case 'serviceBinding': {
|
|
97
|
+
const metadataXml = await (0, readMetadataXmlForType_1.readMetadataXmlForType)(client, spec.type, spec.name);
|
|
98
|
+
if (!metadataXml) {
|
|
99
|
+
throw new Error(`Service binding not found: ${spec.name}`);
|
|
100
|
+
}
|
|
101
|
+
const config = (0, parseServiceBindingConfig_1.parseServiceBindingConfig)(metadataXml);
|
|
102
|
+
return {
|
|
103
|
+
id,
|
|
104
|
+
type: spec.type,
|
|
105
|
+
name: spec.name,
|
|
106
|
+
config: (0, applyConfigName_1.applyConfigName)(spec.type, spec.name, undefined, (0, toBackupConfig_1.toBackupConfig)(config)),
|
|
107
|
+
};
|
|
108
|
+
}
|
|
95
109
|
case 'metadataExtension':
|
|
96
110
|
case 'behaviorDefinition': {
|
|
97
111
|
const metadataXml = await (0, readMetadataXmlForType_1.readMetadataXmlForType)(client, spec.type, spec.name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readMetadataXmlForType.d.ts","sourceRoot":"","sources":["../../../src/lib/backup/readMetadataXmlForType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,MAAM,EACZ,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"readMetadataXmlForType.d.ts","sourceRoot":"","sources":["../../../src/lib/backup/readMetadataXmlForType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,MAAM,EACZ,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAqG7B"}
|
|
@@ -78,6 +78,12 @@ async function readMetadataXmlForType(client, type, name, functionGroupName) {
|
|
|
78
78
|
.readMetadata({ serviceDefinitionName: name });
|
|
79
79
|
return (0, responseToText_1.responseToText)(state.metadataResult);
|
|
80
80
|
}
|
|
81
|
+
case 'serviceBinding': {
|
|
82
|
+
const state = await client
|
|
83
|
+
.getServiceBinding()
|
|
84
|
+
.readMetadata({ bindingName: name });
|
|
85
|
+
return (0, responseToText_1.responseToText)(state.metadataResult);
|
|
86
|
+
}
|
|
81
87
|
case 'metadataExtension': {
|
|
82
88
|
const state = await client.getMetadataExtension().readMetadata({ name });
|
|
83
89
|
return (0, responseToText_1.responseToText)(state.metadataResult);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readSourceText.d.ts","sourceRoot":"","sources":["../../../src/lib/backup/readSourceText.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"readSourceText.d.ts","sourceRoot":"","sources":["../../../src/lib/backup/readSourceText.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAuG7B"}
|
|
@@ -62,6 +62,12 @@ async function readSourceText(client, spec) {
|
|
|
62
62
|
.read({ serviceDefinitionName: spec.name }, 'active');
|
|
63
63
|
return (0, responseToText_1.responseToText)(state?.readResult);
|
|
64
64
|
}
|
|
65
|
+
case 'serviceBinding': {
|
|
66
|
+
const state = await client
|
|
67
|
+
.getServiceBinding()
|
|
68
|
+
.read({ bindingName: spec.name }, 'active');
|
|
69
|
+
return (0, responseToText_1.responseToText)(state?.readResult);
|
|
70
|
+
}
|
|
65
71
|
case 'metadataExtension': {
|
|
66
72
|
const state = await client
|
|
67
73
|
.getMetadataExtension()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../../src/lib/cli/usage.ts"],"names":[],"mappings":"AAyJA,wBAAgB,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../../src/lib/cli/usage.ts"],"names":[],"mappings":"AAyJA,wBAAgB,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAyC9C"}
|
package/dist/lib/cli/usage.js
CHANGED
|
@@ -181,6 +181,7 @@ function usage(command) {
|
|
|
181
181
|
' functionGroup:ZFG_TEST',
|
|
182
182
|
' functionModule:ZFG_TEST|ZFM_TEST',
|
|
183
183
|
' serviceDefinition:Z_I_SRV_DEF',
|
|
184
|
+
' serviceBinding:Z_UI_SERVICE',
|
|
184
185
|
' metadataExtension:Z_I_SRV_EXT',
|
|
185
186
|
' behaviorDefinition:Z_I_BDEF',
|
|
186
187
|
].join('\n');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeOrder.d.ts","sourceRoot":"","sources":["../../../src/lib/constants/typeOrder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,eAAO,MAAM,SAAS,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"typeOrder.d.ts","sourceRoot":"","sources":["../../../src/lib/constants/typeOrder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,eAAO,MAAM,SAAS,EAAE,aAAa,EAmBpC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collectTreeDependencies.d.ts","sourceRoot":"","sources":["../../../src/lib/dependencies/collectTreeDependencies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAK3D,OAAO,KAAK,EAAE,cAAc,EAA6B,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"collectTreeDependencies.d.ts","sourceRoot":"","sources":["../../../src/lib/dependencies/collectTreeDependencies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAK3D,OAAO,KAAK,EAAE,cAAc,EAA6B,MAAM,UAAU,CAAC;AAmC1E,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,IAAI,CAAC,CA+Ff"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restoreObject.d.ts","sourceRoot":"","sources":["../../../src/lib/restore/restoreObject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,
|
|
1
|
+
{"version":3,"file":"restoreObject.d.ts","sourceRoot":"","sources":["../../../src/lib/restore/restoreObject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EAmBV,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAM1D,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,OAAO,EACjB,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,IAAI,CAAC,CAqSf"}
|
|
@@ -169,6 +169,19 @@ async function restoreObject(client, obj, mode, activate, transportRequest) {
|
|
|
169
169
|
}
|
|
170
170
|
return;
|
|
171
171
|
}
|
|
172
|
+
case 'serviceBinding': {
|
|
173
|
+
if (mode !== 'update') {
|
|
174
|
+
await client
|
|
175
|
+
.getServiceBinding()
|
|
176
|
+
.create((0, asConfig_1.asConfig)(config), options);
|
|
177
|
+
}
|
|
178
|
+
if (mode !== 'create') {
|
|
179
|
+
await client
|
|
180
|
+
.getServiceBinding()
|
|
181
|
+
.update((0, asConfig_1.asConfig)(config));
|
|
182
|
+
}
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
172
185
|
case 'metadataExtension': {
|
|
173
186
|
if (mode !== 'update') {
|
|
174
187
|
await client
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restoreTreeNode.d.ts","sourceRoot":"","sources":["../../../src/lib/restore/restoreTreeNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,
|
|
1
|
+
{"version":3,"file":"restoreTreeNode.d.ts","sourceRoot":"","sources":["../../../src/lib/restore/restoreTreeNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EAmBV,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAK5D,wBAAsB,eAAe,CACnC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,OAAO,EACjB,gBAAgB,CAAC,EAAE,MAAM,EACzB,yBAAyB,CAAC,EAAE,MAAM,EAClC,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAC/B,OAAO,CAAC,IAAI,CAAC,CAkVf"}
|
|
@@ -194,6 +194,19 @@ async function restoreTreeNode(client, node, mode, activate, transportRequest, s
|
|
|
194
194
|
}
|
|
195
195
|
return;
|
|
196
196
|
}
|
|
197
|
+
case 'serviceBinding': {
|
|
198
|
+
if (mode !== 'update') {
|
|
199
|
+
await client
|
|
200
|
+
.getServiceBinding()
|
|
201
|
+
.create((0, asConfig_1.asConfig)(config), options);
|
|
202
|
+
}
|
|
203
|
+
if (mode !== 'create') {
|
|
204
|
+
await client
|
|
205
|
+
.getServiceBinding()
|
|
206
|
+
.update((0, asConfig_1.asConfig)(config));
|
|
207
|
+
}
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
197
210
|
case 'metadataExtension': {
|
|
198
211
|
if (mode !== 'update') {
|
|
199
212
|
await client
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildConfigForNode.d.ts","sourceRoot":"","sources":["../../../src/lib/tree/buildConfigForNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"buildConfigForNode.d.ts","sourceRoot":"","sources":["../../../src/lib/tree/buildConfigForNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAa5D,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,MAAM,EACZ,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAqJnC"}
|
|
@@ -10,6 +10,7 @@ const parseDataElementConfig_1 = require("../xml/parseDataElementConfig");
|
|
|
10
10
|
const parseDomainConfig_1 = require("../xml/parseDomainConfig");
|
|
11
11
|
const parseEnhancementConfig_1 = require("../xml/parseEnhancementConfig");
|
|
12
12
|
const parsePackageConfig_1 = require("../xml/parsePackageConfig");
|
|
13
|
+
const parseServiceBindingConfig_1 = require("../xml/parseServiceBindingConfig");
|
|
13
14
|
const parseTableTypeConfig_1 = require("../xml/parseTableTypeConfig");
|
|
14
15
|
async function buildConfigForNode(type, name, functionGroupName, metadataXml) {
|
|
15
16
|
switch (type) {
|
|
@@ -74,6 +75,13 @@ async function buildConfigForNode(type, name, functionGroupName, metadataXml) {
|
|
|
74
75
|
description,
|
|
75
76
|
});
|
|
76
77
|
}
|
|
78
|
+
case 'serviceBinding': {
|
|
79
|
+
if (!metadataXml) {
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
const config = (0, parseServiceBindingConfig_1.parseServiceBindingConfig)(metadataXml);
|
|
83
|
+
return (0, applyConfigName_1.applyConfigName)(type, name, functionGroupName, (0, toBackupConfig_1.toBackupConfig)(config));
|
|
84
|
+
}
|
|
77
85
|
case 'class': {
|
|
78
86
|
if (!metadataXml) {
|
|
79
87
|
return (0, applyConfigName_1.applyConfigName)(type, name, functionGroupName, {});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isRestoreImplemented.d.ts","sourceRoot":"","sources":["../../../src/lib/tree/isRestoreImplemented.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,wBAAgB,oBAAoB,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"isRestoreImplemented.d.ts","sourceRoot":"","sources":["../../../src/lib/tree/isRestoreImplemented.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,wBAAgB,oBAAoB,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAwBlE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapAdtTypeToSupported.d.ts","sourceRoot":"","sources":["../../../src/lib/tree/mapAdtTypeToSupported.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,wBAAgB,qBAAqB,CACnC,OAAO,CAAC,EAAE,MAAM,GACf,aAAa,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"mapAdtTypeToSupported.d.ts","sourceRoot":"","sources":["../../../src/lib/tree/mapAdtTypeToSupported.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,wBAAgB,qBAAqB,CACnC,OAAO,CAAC,EAAE,MAAM,GACf,aAAa,GAAG,SAAS,CA8D3B"}
|
|
@@ -27,6 +27,7 @@ function mapAdtTypeToSupported(adtType) {
|
|
|
27
27
|
'FUGR/F': 'functionGroup',
|
|
28
28
|
FUGR: 'functionGroup',
|
|
29
29
|
'SRVD/SRV': 'serviceDefinition',
|
|
30
|
+
'SRVB/SVB': 'serviceBinding',
|
|
30
31
|
'BDEF/BDO': 'behaviorDefinition',
|
|
31
32
|
'BIMP/BIM': 'behaviorImplementation',
|
|
32
33
|
'BIMP/BI': 'behaviorImplementation',
|
|
@@ -49,6 +50,8 @@ function mapAdtTypeToSupported(adtType) {
|
|
|
49
50
|
return 'metadataExtension';
|
|
50
51
|
if (normalized.startsWith('SRVD/'))
|
|
51
52
|
return 'serviceDefinition';
|
|
53
|
+
if (normalized.startsWith('SRVB/'))
|
|
54
|
+
return 'serviceBinding';
|
|
52
55
|
if (normalized.startsWith('DOMA/'))
|
|
53
56
|
return 'domain';
|
|
54
57
|
if (normalized.startsWith('DTEL/'))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readPayloadForType.d.ts","sourceRoot":"","sources":["../../../src/lib/tree/readPayloadForType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAG3D,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9D,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,MAAM,EACZ,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"readPayloadForType.d.ts","sourceRoot":"","sources":["../../../src/lib/tree/readPayloadForType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAG3D,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9D,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,MAAM,EACZ,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,CAAA;CAAE,CAAC,CAsCtE"}
|
|
@@ -28,7 +28,8 @@ async function readPayloadForType(client, type, name, functionGroupName) {
|
|
|
28
28
|
case 'domain':
|
|
29
29
|
case 'dataElement':
|
|
30
30
|
case 'package':
|
|
31
|
-
case 'functionGroup':
|
|
31
|
+
case 'functionGroup':
|
|
32
|
+
case 'serviceBinding': {
|
|
32
33
|
const xml = await (0, readMetadataXmlForType_1.readMetadataXmlForType)(client, type, name, functionGroupName);
|
|
33
34
|
return { payload: xml, format: 'xml' };
|
|
34
35
|
}
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type SupportedType = 'package' | 'domain' | 'dataElement' | 'structure' | 'table' | 'tableType' | 'view' | 'class' | 'interface' | 'program' | 'functionGroup' | 'functionModule' | 'serviceDefinition' | 'metadataExtension' | 'behaviorDefinition' | 'behaviorImplementation' | 'enhancement' | 'unitTest' | 'cdsUnitTest';
|
|
1
|
+
export type SupportedType = 'package' | 'domain' | 'dataElement' | 'structure' | 'table' | 'tableType' | 'view' | 'class' | 'interface' | 'program' | 'functionGroup' | 'functionModule' | 'serviceDefinition' | 'serviceBinding' | 'metadataExtension' | 'behaviorDefinition' | 'behaviorImplementation' | 'enhancement' | 'unitTest' | 'cdsUnitTest';
|
|
2
2
|
export type RestoreMode = 'create' | 'update' | 'upsert';
|
|
3
3
|
export type BackupConfig = Record<string, unknown>;
|
|
4
4
|
export interface ObjectSpec {
|
package/dist/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,QAAQ,GACR,aAAa,GACb,WAAW,GACX,OAAO,GACP,WAAW,GACX,MAAM,GACN,OAAO,GACP,WAAW,GACX,SAAS,GACT,eAAe,GACf,gBAAgB,GAChB,mBAAmB,GACnB,mBAAmB,GACnB,oBAAoB,GACpB,wBAAwB,GACxB,aAAa,GACb,UAAU,GACV,aAAa,CAAC;AAElB,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEzD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEnD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,CAAC,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,CAAC,EAAE,IAAI,GAAG,iBAAiB,CAAC;IACzC,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,CAAC,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,SAAS,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,OAAO,EAAE,GACT,MAAM,GACN,MAAM,GACN,IAAI,CAAC;AACT,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEnD,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,QAAQ,GACR,aAAa,GACb,WAAW,GACX,OAAO,GACP,WAAW,GACX,MAAM,GACN,OAAO,GACP,WAAW,GACX,SAAS,GACT,eAAe,GACf,gBAAgB,GAChB,mBAAmB,GACnB,gBAAgB,GAChB,mBAAmB,GACnB,oBAAoB,GACpB,wBAAwB,GACxB,aAAa,GACb,UAAU,GACV,aAAa,CAAC;AAElB,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEzD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEnD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,CAAC,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,CAAC,EAAE,IAAI,GAAG,iBAAiB,CAAC;IACzC,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,CAAC,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,SAAS,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,OAAO,EAAE,GACT,MAAM,GACN,MAAM,GACN,IAAI,CAAC;AACT,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEnD,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applyConfigName.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/applyConfigName.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE5D,wBAAgB,eAAe,CAC7B,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,MAAM,EACZ,iBAAiB,CAAC,EAAE,MAAM,EAC1B,MAAM,CAAC,EAAE,YAAY,GACpB,YAAY,
|
|
1
|
+
{"version":3,"file":"applyConfigName.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/applyConfigName.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE5D,wBAAgB,eAAe,CAC7B,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,MAAM,EACZ,iBAAiB,CAAC,EAAE,MAAM,EAC1B,MAAM,CAAC,EAAE,YAAY,GACpB,YAAY,CAkEd"}
|
|
@@ -44,6 +44,9 @@ function applyConfigName(type, name, functionGroupName, config) {
|
|
|
44
44
|
case 'serviceDefinition':
|
|
45
45
|
finalConfig.serviceDefinitionName = name;
|
|
46
46
|
break;
|
|
47
|
+
case 'serviceBinding':
|
|
48
|
+
finalConfig.bindingName = name;
|
|
49
|
+
break;
|
|
47
50
|
case 'metadataExtension':
|
|
48
51
|
finalConfig.name = name;
|
|
49
52
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalizeType.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/normalizeType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"normalizeType.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/normalizeType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAyC5D"}
|
|
@@ -23,6 +23,8 @@ function normalizeType(rawType) {
|
|
|
23
23
|
function_module: 'functionModule',
|
|
24
24
|
servicedefinition: 'serviceDefinition',
|
|
25
25
|
service_definition: 'serviceDefinition',
|
|
26
|
+
servicebinding: 'serviceBinding',
|
|
27
|
+
service_binding: 'serviceBinding',
|
|
26
28
|
metadataextension: 'metadataExtension',
|
|
27
29
|
metadata_extension: 'metadataExtension',
|
|
28
30
|
behaviordefinition: 'behaviorDefinition',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findOtherType.d.ts","sourceRoot":"","sources":["../../../src/lib/verify/findOtherType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"findOtherType.d.ts","sourceRoot":"","sources":["../../../src/lib/verify/findOtherType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAwB9C,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,aAAa,EAC3B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAepC"}
|
package/dist/lib/xml/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export * from './getNodeAttribute';
|
|
|
8
8
|
export * from './parseDataElementConfig';
|
|
9
9
|
export * from './parseDomainConfig';
|
|
10
10
|
export * from './parsePackageConfig';
|
|
11
|
+
export * from './parseServiceBindingConfig';
|
|
11
12
|
export * from './toBoolean';
|
|
12
13
|
export * from './toNumber';
|
|
13
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/xml/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/xml/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|
package/dist/lib/xml/index.js
CHANGED
|
@@ -24,5 +24,6 @@ __exportStar(require("./getNodeAttribute"), exports);
|
|
|
24
24
|
__exportStar(require("./parseDataElementConfig"), exports);
|
|
25
25
|
__exportStar(require("./parseDomainConfig"), exports);
|
|
26
26
|
__exportStar(require("./parsePackageConfig"), exports);
|
|
27
|
+
__exportStar(require("./parseServiceBindingConfig"), exports);
|
|
27
28
|
__exportStar(require("./toBoolean"), exports);
|
|
28
29
|
__exportStar(require("./toNumber"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseServiceBindingConfig.d.ts","sourceRoot":"","sources":["../../../src/lib/xml/parseServiceBindingConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAOvE,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,qBAAqB,CAAC,CAsFhC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseServiceBindingConfig = parseServiceBindingConfig;
|
|
4
|
+
const xmlParser_1 = require("../constants/xmlParser");
|
|
5
|
+
const findAttribute_1 = require("./findAttribute");
|
|
6
|
+
const findNode_1 = require("./findNode");
|
|
7
|
+
const getNodeAttribute_1 = require("./getNodeAttribute");
|
|
8
|
+
function parseServiceBindingConfig(xml) {
|
|
9
|
+
const parsed = xmlParser_1.xmlParser.parse(xml);
|
|
10
|
+
const root = (0, findNode_1.findNode)(parsed, ['srvb:serviceBinding', 'serviceBinding']) ?? parsed;
|
|
11
|
+
const bindingName = (0, getNodeAttribute_1.getNodeAttribute)(root, 'adtcore:name') ||
|
|
12
|
+
(0, findAttribute_1.findAttribute)(root, 'adtcore:name');
|
|
13
|
+
const description = (0, getNodeAttribute_1.getNodeAttribute)(root, 'adtcore:description') ||
|
|
14
|
+
(0, findAttribute_1.findAttribute)(root, 'adtcore:description');
|
|
15
|
+
const responsible = (0, getNodeAttribute_1.getNodeAttribute)(root, 'adtcore:responsible') ||
|
|
16
|
+
(0, findAttribute_1.findAttribute)(root, 'adtcore:responsible');
|
|
17
|
+
const masterSystem = (0, getNodeAttribute_1.getNodeAttribute)(root, 'adtcore:masterSystem') ||
|
|
18
|
+
(0, findAttribute_1.findAttribute)(root, 'adtcore:masterSystem');
|
|
19
|
+
const masterLanguage = (0, getNodeAttribute_1.getNodeAttribute)(root, 'adtcore:masterLanguage') ||
|
|
20
|
+
(0, findAttribute_1.findAttribute)(root, 'adtcore:masterLanguage') ||
|
|
21
|
+
(0, getNodeAttribute_1.getNodeAttribute)(root, 'adtcore:language') ||
|
|
22
|
+
(0, findAttribute_1.findAttribute)(root, 'adtcore:language');
|
|
23
|
+
const packageRef = (0, findNode_1.findNode)(root, ['adtcore:packageRef', 'packageRef']);
|
|
24
|
+
const packageName = (0, getNodeAttribute_1.getNodeAttribute)(packageRef, 'adtcore:name') ||
|
|
25
|
+
(0, findAttribute_1.findAttribute)(packageRef, 'adtcore:name');
|
|
26
|
+
const services = (0, findNode_1.findNode)(root, ['srvb:services', 'services']);
|
|
27
|
+
const serviceName = (0, getNodeAttribute_1.getNodeAttribute)(services, 'srvb:name') ||
|
|
28
|
+
(0, findAttribute_1.findAttribute)(services, 'srvb:name');
|
|
29
|
+
const content = (0, findNode_1.findNode)(services, ['srvb:content', 'content']);
|
|
30
|
+
const serviceVersion = (0, getNodeAttribute_1.getNodeAttribute)(content, 'srvb:version') ||
|
|
31
|
+
(0, findAttribute_1.findAttribute)(content, 'srvb:version');
|
|
32
|
+
const serviceDefinition = (0, findNode_1.findNode)(content, [
|
|
33
|
+
'srvb:serviceDefinition',
|
|
34
|
+
'serviceDefinition',
|
|
35
|
+
]);
|
|
36
|
+
const serviceDefinitionName = (0, getNodeAttribute_1.getNodeAttribute)(serviceDefinition, 'adtcore:name') ||
|
|
37
|
+
(0, findAttribute_1.findAttribute)(serviceDefinition, 'adtcore:name');
|
|
38
|
+
const binding = (0, findNode_1.findNode)(root, ['srvb:binding', 'binding']);
|
|
39
|
+
const bindingType = (0, getNodeAttribute_1.getNodeAttribute)(binding, 'srvb:type') ||
|
|
40
|
+
(0, findAttribute_1.findAttribute)(binding, 'srvb:type');
|
|
41
|
+
const bindingVersion = (0, getNodeAttribute_1.getNodeAttribute)(binding, 'srvb:version') ||
|
|
42
|
+
(0, findAttribute_1.findAttribute)(binding, 'srvb:version');
|
|
43
|
+
const bindingCategory = (0, getNodeAttribute_1.getNodeAttribute)(binding, 'srvb:category') ||
|
|
44
|
+
(0, findAttribute_1.findAttribute)(binding, 'srvb:category');
|
|
45
|
+
// Keep publication state unchanged by default during restore updates.
|
|
46
|
+
const desiredPublicationState = 'unchanged';
|
|
47
|
+
const normalizedBindingType = bindingType?.toUpperCase();
|
|
48
|
+
const normalizedBindingVersion = bindingVersion?.toUpperCase();
|
|
49
|
+
const serviceType = normalizedBindingType === 'ODATA'
|
|
50
|
+
? normalizedBindingVersion === 'V2'
|
|
51
|
+
? 'odatav2'
|
|
52
|
+
: 'odatav4'
|
|
53
|
+
: undefined;
|
|
54
|
+
return {
|
|
55
|
+
bindingName,
|
|
56
|
+
packageName,
|
|
57
|
+
description,
|
|
58
|
+
serviceDefinitionName,
|
|
59
|
+
serviceName,
|
|
60
|
+
serviceVersion,
|
|
61
|
+
bindingType: normalizedBindingType,
|
|
62
|
+
bindingVersion,
|
|
63
|
+
bindingCategory,
|
|
64
|
+
masterLanguage,
|
|
65
|
+
masterSystem,
|
|
66
|
+
responsible,
|
|
67
|
+
desiredPublicationState,
|
|
68
|
+
serviceType,
|
|
69
|
+
};
|
|
70
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mcp-abap-adt/adt-backup",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "ADT backup CLI for SAP ABAP objects (recursive package backups and restores)",
|
|
5
5
|
"main": "dist/bin/adt-backup.js",
|
|
6
6
|
"types": "dist/bin/adt-backup.d.ts",
|
|
@@ -48,17 +48,17 @@
|
|
|
48
48
|
"node": ">=18.0.0"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@mcp-abap-adt/adt-clients": "0.3.
|
|
52
|
-
"@mcp-abap-adt/auth-broker": "^0.
|
|
53
|
-
"@mcp-abap-adt/auth-providers": "^0.
|
|
54
|
-
"@mcp-abap-adt/auth-stores": "^0.2
|
|
55
|
-
"@mcp-abap-adt/connection": "^
|
|
56
|
-
"fast-xml-parser": "^5.3.
|
|
57
|
-
"yaml": "^2.
|
|
51
|
+
"@mcp-abap-adt/adt-clients": "0.3.22",
|
|
52
|
+
"@mcp-abap-adt/auth-broker": "^1.0.5",
|
|
53
|
+
"@mcp-abap-adt/auth-providers": "^1.0.5",
|
|
54
|
+
"@mcp-abap-adt/auth-stores": "^1.0.2",
|
|
55
|
+
"@mcp-abap-adt/connection": "^1.1.0",
|
|
56
|
+
"fast-xml-parser": "^5.3.7",
|
|
57
|
+
"yaml": "^2.8.2"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
|
-
"@biomejs/biome": "^2.
|
|
61
|
-
"@types/node": "^
|
|
60
|
+
"@biomejs/biome": "^2.4.4",
|
|
61
|
+
"@types/node": "^25.3.0",
|
|
62
62
|
"typescript": "^5.9.2"
|
|
63
63
|
}
|
|
64
64
|
}
|