@mcp-abap-adt/adt-backup 0.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.
- package/LICENSE +22 -0
- package/README.md +64 -0
- package/dist/bin/adt-backup.d.ts +3 -0
- package/dist/bin/adt-backup.d.ts.map +1 -0
- package/dist/bin/adt-backup.js +8 -0
- package/dist/lib/auth/NoopTokenProvider.d.ts +5 -0
- package/dist/lib/auth/NoopTokenProvider.d.ts.map +1 -0
- package/dist/lib/auth/NoopTokenProvider.js +9 -0
- package/dist/lib/auth/createTokenProvider.d.ts +4 -0
- package/dist/lib/auth/createTokenProvider.d.ts.map +1 -0
- package/dist/lib/auth/createTokenProvider.js +22 -0
- package/dist/lib/auth/getSapConfigFromBroker.d.ts +13 -0
- package/dist/lib/auth/getSapConfigFromBroker.d.ts.map +1 -0
- package/dist/lib/auth/getSapConfigFromBroker.js +184 -0
- package/dist/lib/auth/index.d.ts +4 -0
- package/dist/lib/auth/index.d.ts.map +1 -0
- package/dist/lib/auth/index.js +19 -0
- package/dist/lib/backup/backupObject.d.ts +4 -0
- package/dist/lib/backup/backupObject.d.ts.map +1 -0
- package/dist/lib/backup/backupObject.js +166 -0
- package/dist/lib/backup/index.d.ts +5 -0
- package/dist/lib/backup/index.d.ts.map +1 -0
- package/dist/lib/backup/index.js +20 -0
- package/dist/lib/backup/readBasicMetadata.d.ts +7 -0
- package/dist/lib/backup/readBasicMetadata.d.ts.map +1 -0
- package/dist/lib/backup/readBasicMetadata.js +64 -0
- package/dist/lib/backup/readMetadataXmlForType.d.ts +4 -0
- package/dist/lib/backup/readMetadataXmlForType.d.ts.map +1 -0
- package/dist/lib/backup/readMetadataXmlForType.js +100 -0
- package/dist/lib/backup/readSourceText.d.ts +4 -0
- package/dist/lib/backup/readSourceText.d.ts.map +1 -0
- package/dist/lib/backup/readSourceText.js +96 -0
- package/dist/lib/cli/applyLogEnv.d.ts +2 -0
- package/dist/lib/cli/applyLogEnv.d.ts.map +1 -0
- package/dist/lib/cli/applyLogEnv.js +50 -0
- package/dist/lib/cli/createLogger.d.ts +7 -0
- package/dist/lib/cli/createLogger.d.ts.map +1 -0
- package/dist/lib/cli/createLogger.js +30 -0
- package/dist/lib/cli/getVerbosity.d.ts +2 -0
- package/dist/lib/cli/getVerbosity.d.ts.map +1 -0
- package/dist/lib/cli/getVerbosity.js +27 -0
- package/dist/lib/cli/index.d.ts +13 -0
- package/dist/lib/cli/index.d.ts.map +1 -0
- package/dist/lib/cli/index.js +28 -0
- package/dist/lib/cli/isEnvEnabled.d.ts +2 -0
- package/dist/lib/cli/isEnvEnabled.d.ts.map +1 -0
- package/dist/lib/cli/isEnvEnabled.js +10 -0
- package/dist/lib/cli/logVerbose.d.ts +2 -0
- package/dist/lib/cli/logVerbose.d.ts.map +1 -0
- package/dist/lib/cli/logVerbose.js +9 -0
- package/dist/lib/cli/parseArgs.d.ts +2 -0
- package/dist/lib/cli/parseArgs.d.ts.map +1 -0
- package/dist/lib/cli/parseArgs.js +22 -0
- package/dist/lib/cli/redact.d.ts +4 -0
- package/dist/lib/cli/redact.d.ts.map +1 -0
- package/dist/lib/cli/redact.js +75 -0
- package/dist/lib/cli/shouldEnableAdtLogger.d.ts +2 -0
- package/dist/lib/cli/shouldEnableAdtLogger.d.ts.map +1 -0
- package/dist/lib/cli/shouldEnableAdtLogger.js +10 -0
- package/dist/lib/cli/shouldEnableBrokerLogger.d.ts +2 -0
- package/dist/lib/cli/shouldEnableBrokerLogger.d.ts.map +1 -0
- package/dist/lib/cli/shouldEnableBrokerLogger.js +9 -0
- package/dist/lib/cli/shouldEnableConnectionLogger.d.ts +2 -0
- package/dist/lib/cli/shouldEnableConnectionLogger.d.ts.map +1 -0
- package/dist/lib/cli/shouldEnableConnectionLogger.js +7 -0
- package/dist/lib/cli/shouldEnableProviderLogger.d.ts +2 -0
- package/dist/lib/cli/shouldEnableProviderLogger.d.ts.map +1 -0
- package/dist/lib/cli/shouldEnableProviderLogger.js +9 -0
- package/dist/lib/cli/shouldEnableStoreLogger.d.ts +2 -0
- package/dist/lib/cli/shouldEnableStoreLogger.d.ts.map +1 -0
- package/dist/lib/cli/shouldEnableStoreLogger.js +9 -0
- package/dist/lib/cli/usage.d.ts +2 -0
- package/dist/lib/cli/usage.d.ts.map +1 -0
- package/dist/lib/cli/usage.js +187 -0
- package/dist/lib/constants/index.d.ts +3 -0
- package/dist/lib/constants/index.d.ts.map +1 -0
- package/dist/lib/constants/index.js +18 -0
- package/dist/lib/constants/typeOrder.d.ts +3 -0
- package/dist/lib/constants/typeOrder.d.ts.map +1 -0
- package/dist/lib/constants/typeOrder.js +22 -0
- package/dist/lib/constants/xmlParser.d.ts +3 -0
- package/dist/lib/constants/xmlParser.d.ts.map +1 -0
- package/dist/lib/constants/xmlParser.js +8 -0
- package/dist/lib/crypto/computeBackupChecksum.d.ts +3 -0
- package/dist/lib/crypto/computeBackupChecksum.d.ts.map +1 -0
- package/dist/lib/crypto/computeBackupChecksum.js +14 -0
- package/dist/lib/crypto/computeCodeChecksum.d.ts +2 -0
- package/dist/lib/crypto/computeCodeChecksum.d.ts.map +1 -0
- package/dist/lib/crypto/computeCodeChecksum.js +8 -0
- package/dist/lib/crypto/decodeBase64.d.ts +2 -0
- package/dist/lib/crypto/decodeBase64.d.ts.map +1 -0
- package/dist/lib/crypto/decodeBase64.js +6 -0
- package/dist/lib/crypto/encodeBase64.d.ts +2 -0
- package/dist/lib/crypto/encodeBase64.d.ts.map +1 -0
- package/dist/lib/crypto/encodeBase64.js +6 -0
- package/dist/lib/crypto/hashText.d.ts +2 -0
- package/dist/lib/crypto/hashText.d.ts.map +1 -0
- package/dist/lib/crypto/hashText.js +7 -0
- package/dist/lib/crypto/index.d.ts +10 -0
- package/dist/lib/crypto/index.d.ts.map +1 -0
- package/dist/lib/crypto/index.js +25 -0
- package/dist/lib/crypto/stripBackupChecksum.d.ts +3 -0
- package/dist/lib/crypto/stripBackupChecksum.d.ts.map +1 -0
- package/dist/lib/crypto/stripBackupChecksum.js +8 -0
- package/dist/lib/crypto/updateTreeChecksums.d.ts +3 -0
- package/dist/lib/crypto/updateTreeChecksums.d.ts.map +1 -0
- package/dist/lib/crypto/updateTreeChecksums.js +17 -0
- package/dist/lib/crypto/verifyBackupChecksum.d.ts +3 -0
- package/dist/lib/crypto/verifyBackupChecksum.d.ts.map +1 -0
- package/dist/lib/crypto/verifyBackupChecksum.js +13 -0
- package/dist/lib/crypto/verifyTreeChecksums.d.ts +3 -0
- package/dist/lib/crypto/verifyTreeChecksums.d.ts.map +1 -0
- package/dist/lib/crypto/verifyTreeChecksums.js +22 -0
- package/dist/lib/dependencies/collectTreeDependencies.d.ts +4 -0
- package/dist/lib/dependencies/collectTreeDependencies.d.ts.map +1 -0
- package/dist/lib/dependencies/collectTreeDependencies.js +99 -0
- package/dist/lib/index.d.ts +14 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +29 -0
- package/dist/lib/restore/applyTransportRequest.d.ts +2 -0
- package/dist/lib/restore/applyTransportRequest.d.ts.map +1 -0
- package/dist/lib/restore/applyTransportRequest.js +12 -0
- package/dist/lib/restore/buildRestorePlan.d.ts +12 -0
- package/dist/lib/restore/buildRestorePlan.d.ts.map +1 -0
- package/dist/lib/restore/buildRestorePlan.js +46 -0
- package/dist/lib/restore/collectDeletionTargets.d.ts +7 -0
- package/dist/lib/restore/collectDeletionTargets.d.ts.map +1 -0
- package/dist/lib/restore/collectDeletionTargets.js +23 -0
- package/dist/lib/restore/deleteBackupObjects.d.ts +4 -0
- package/dist/lib/restore/deleteBackupObjects.d.ts.map +1 -0
- package/dist/lib/restore/deleteBackupObjects.js +22 -0
- package/dist/lib/restore/index.d.ts +9 -0
- package/dist/lib/restore/index.d.ts.map +1 -0
- package/dist/lib/restore/index.js +24 -0
- package/dist/lib/restore/restoreObject.d.ts +4 -0
- package/dist/lib/restore/restoreObject.d.ts.map +1 -0
- package/dist/lib/restore/restoreObject.js +242 -0
- package/dist/lib/restore/restoreObjects.d.ts +4 -0
- package/dist/lib/restore/restoreObjects.d.ts.map +1 -0
- package/dist/lib/restore/restoreObjects.js +28 -0
- package/dist/lib/restore/restoreTreeBackup.d.ts +4 -0
- package/dist/lib/restore/restoreTreeBackup.d.ts.map +1 -0
- package/dist/lib/restore/restoreTreeBackup.js +69 -0
- package/dist/lib/restore/restoreTreeNode.d.ts +4 -0
- package/dist/lib/restore/restoreTreeNode.d.ts.map +1 -0
- package/dist/lib/restore/restoreTreeNode.js +276 -0
- package/dist/lib/restore/sortByDependencies.d.ts +3 -0
- package/dist/lib/restore/sortByDependencies.d.ts.map +1 -0
- package/dist/lib/restore/sortByDependencies.js +65 -0
- package/dist/lib/restore/sortTreeNodesByDependencies.d.ts +3 -0
- package/dist/lib/restore/sortTreeNodesByDependencies.d.ts.map +1 -0
- package/dist/lib/restore/sortTreeNodesByDependencies.js +101 -0
- package/dist/lib/run.d.ts +2 -0
- package/dist/lib/run.d.ts.map +1 -0
- package/dist/lib/run.js +748 -0
- package/dist/lib/state/index.d.ts +2 -0
- package/dist/lib/state/index.d.ts.map +1 -0
- package/dist/lib/state/index.js +17 -0
- package/dist/lib/state/verbosity.d.ts +4 -0
- package/dist/lib/state/verbosity.d.ts.map +1 -0
- package/dist/lib/state/verbosity.js +6 -0
- package/dist/lib/tree/buildConfigForNode.d.ts +3 -0
- package/dist/lib/tree/buildConfigForNode.d.ts.map +1 -0
- package/dist/lib/tree/buildConfigForNode.js +116 -0
- package/dist/lib/tree/buildPackageBackupTree.d.ts +4 -0
- package/dist/lib/tree/buildPackageBackupTree.d.ts.map +1 -0
- package/dist/lib/tree/buildPackageBackupTree.js +27 -0
- package/dist/lib/tree/buildTreeList.d.ts +13 -0
- package/dist/lib/tree/buildTreeList.d.ts.map +1 -0
- package/dist/lib/tree/buildTreeList.js +19 -0
- package/dist/lib/tree/collectTreeObjects.d.ts +3 -0
- package/dist/lib/tree/collectTreeObjects.d.ts.map +1 -0
- package/dist/lib/tree/collectTreeObjects.js +18 -0
- package/dist/lib/tree/enrichTreeNode.d.ts +4 -0
- package/dist/lib/tree/enrichTreeNode.d.ts.map +1 -0
- package/dist/lib/tree/enrichTreeNode.js +69 -0
- package/dist/lib/tree/findNodeInTree.d.ts +3 -0
- package/dist/lib/tree/findNodeInTree.d.ts.map +1 -0
- package/dist/lib/tree/findNodeInTree.js +30 -0
- package/dist/lib/tree/flattenTree.d.ts +3 -0
- package/dist/lib/tree/flattenTree.d.ts.map +1 -0
- package/dist/lib/tree/flattenTree.js +12 -0
- package/dist/lib/tree/formatTreeListText.d.ts +5 -0
- package/dist/lib/tree/formatTreeListText.d.ts.map +1 -0
- package/dist/lib/tree/formatTreeListText.js +26 -0
- package/dist/lib/tree/getNodeFunctionGroupName.d.ts +3 -0
- package/dist/lib/tree/getNodeFunctionGroupName.d.ts.map +1 -0
- package/dist/lib/tree/getNodeFunctionGroupName.js +12 -0
- package/dist/lib/tree/getNodeObjectId.d.ts +3 -0
- package/dist/lib/tree/getNodeObjectId.d.ts.map +1 -0
- package/dist/lib/tree/getNodeObjectId.js +9 -0
- package/dist/lib/tree/getNodeObjectSpec.d.ts +3 -0
- package/dist/lib/tree/getNodeObjectSpec.d.ts.map +1 -0
- package/dist/lib/tree/getNodeObjectSpec.js +21 -0
- package/dist/lib/tree/index.d.ts +13 -0
- package/dist/lib/tree/index.d.ts.map +1 -0
- package/dist/lib/tree/index.js +28 -0
- package/dist/lib/tree/isRestoreImplemented.d.ts +3 -0
- package/dist/lib/tree/isRestoreImplemented.d.ts.map +1 -0
- package/dist/lib/tree/isRestoreImplemented.js +27 -0
- package/dist/lib/tree/mapAdtTypeToSupported.d.ts +3 -0
- package/dist/lib/tree/mapAdtTypeToSupported.d.ts.map +1 -0
- package/dist/lib/tree/mapAdtTypeToSupported.js +75 -0
- package/dist/lib/tree/readPayloadForType.d.ts +7 -0
- package/dist/lib/tree/readPayloadForType.d.ts.map +1 -0
- package/dist/lib/tree/readPayloadForType.js +38 -0
- package/dist/lib/types.d.ts +60 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +2 -0
- package/dist/lib/utils/applyConfigName.d.ts +3 -0
- package/dist/lib/utils/applyConfigName.d.ts.map +1 -0
- package/dist/lib/utils/applyConfigName.js +67 -0
- package/dist/lib/utils/asArray.d.ts +2 -0
- package/dist/lib/utils/asArray.d.ts.map +1 -0
- package/dist/lib/utils/asArray.js +9 -0
- package/dist/lib/utils/asConfig.d.ts +3 -0
- package/dist/lib/utils/asConfig.d.ts.map +1 -0
- package/dist/lib/utils/asConfig.js +6 -0
- package/dist/lib/utils/diffAttributes.d.ts +17 -0
- package/dist/lib/utils/diffAttributes.d.ts.map +1 -0
- package/dist/lib/utils/diffAttributes.js +27 -0
- package/dist/lib/utils/diffUnified.d.ts +4 -0
- package/dist/lib/utils/diffUnified.d.ts.map +1 -0
- package/dist/lib/utils/diffUnified.js +142 -0
- package/dist/lib/utils/ensureDescription.d.ts +3 -0
- package/dist/lib/utils/ensureDescription.d.ts.map +1 -0
- package/dist/lib/utils/ensureDescription.js +9 -0
- package/dist/lib/utils/formatObjectSpec.d.ts +3 -0
- package/dist/lib/utils/formatObjectSpec.d.ts.map +1 -0
- package/dist/lib/utils/formatObjectSpec.js +9 -0
- package/dist/lib/utils/index.d.ts +12 -0
- package/dist/lib/utils/index.d.ts.map +1 -0
- package/dist/lib/utils/index.js +27 -0
- package/dist/lib/utils/normalizeType.d.ts +3 -0
- package/dist/lib/utils/normalizeType.d.ts.map +1 -0
- package/dist/lib/utils/normalizeType.js +43 -0
- package/dist/lib/utils/objectId.d.ts +3 -0
- package/dist/lib/utils/objectId.d.ts.map +1 -0
- package/dist/lib/utils/objectId.js +9 -0
- package/dist/lib/utils/parseBehaviorDefinitionFromClass.d.ts +2 -0
- package/dist/lib/utils/parseBehaviorDefinitionFromClass.d.ts.map +1 -0
- package/dist/lib/utils/parseBehaviorDefinitionFromClass.js +10 -0
- package/dist/lib/utils/parseObjectSpec.d.ts +3 -0
- package/dist/lib/utils/parseObjectSpec.d.ts.map +1 -0
- package/dist/lib/utils/parseObjectSpec.js +27 -0
- package/dist/lib/utils/responseToText.d.ts +4 -0
- package/dist/lib/utils/responseToText.d.ts.map +1 -0
- package/dist/lib/utils/responseToText.js +11 -0
- package/dist/lib/utils/toBackupConfig.d.ts +3 -0
- package/dist/lib/utils/toBackupConfig.d.ts.map +1 -0
- package/dist/lib/utils/toBackupConfig.js +6 -0
- package/dist/lib/verify/collectBackupNodes.d.ts +3 -0
- package/dist/lib/verify/collectBackupNodes.d.ts.map +1 -0
- package/dist/lib/verify/collectBackupNodes.js +13 -0
- package/dist/lib/verify/findOtherType.d.ts +4 -0
- package/dist/lib/verify/findOtherType.d.ts.map +1 -0
- package/dist/lib/verify/findOtherType.js +41 -0
- package/dist/lib/verify/formatVerifyResultsText.d.ts +3 -0
- package/dist/lib/verify/formatVerifyResultsText.d.ts.map +1 -0
- package/dist/lib/verify/formatVerifyResultsText.js +30 -0
- package/dist/lib/verify/getExpectedPackage.d.ts +3 -0
- package/dist/lib/verify/getExpectedPackage.d.ts.map +1 -0
- package/dist/lib/verify/getExpectedPackage.js +14 -0
- package/dist/lib/verify/index.d.ts +8 -0
- package/dist/lib/verify/index.d.ts.map +1 -0
- package/dist/lib/verify/index.js +23 -0
- package/dist/lib/verify/types.d.ts +23 -0
- package/dist/lib/verify/types.d.ts.map +1 -0
- package/dist/lib/verify/types.js +2 -0
- package/dist/lib/verify/verifyBackup.d.ts +10 -0
- package/dist/lib/verify/verifyBackup.d.ts.map +1 -0
- package/dist/lib/verify/verifyBackup.js +54 -0
- package/dist/lib/verify/verifyObjectInSystem.d.ts +5 -0
- package/dist/lib/verify/verifyObjectInSystem.d.ts.map +1 -0
- package/dist/lib/verify/verifyObjectInSystem.js +136 -0
- package/dist/lib/xml/extractMetadata.d.ts +5 -0
- package/dist/lib/xml/extractMetadata.d.ts.map +1 -0
- package/dist/lib/xml/extractMetadata.js +13 -0
- package/dist/lib/xml/findAttribute.d.ts +3 -0
- package/dist/lib/xml/findAttribute.d.ts.map +1 -0
- package/dist/lib/xml/findAttribute.js +29 -0
- package/dist/lib/xml/findNode.d.ts +3 -0
- package/dist/lib/xml/findNode.d.ts.map +1 -0
- package/dist/lib/xml/findNode.js +30 -0
- package/dist/lib/xml/findNodeValue.d.ts +3 -0
- package/dist/lib/xml/findNodeValue.d.ts.map +1 -0
- package/dist/lib/xml/findNodeValue.js +11 -0
- package/dist/lib/xml/findPackageName.d.ts +3 -0
- package/dist/lib/xml/findPackageName.d.ts.map +1 -0
- package/dist/lib/xml/findPackageName.js +35 -0
- package/dist/lib/xml/flattenXmlAttributes.d.ts +2 -0
- package/dist/lib/xml/flattenXmlAttributes.d.ts.map +1 -0
- package/dist/lib/xml/flattenXmlAttributes.js +82 -0
- package/dist/lib/xml/getAttribute.d.ts +3 -0
- package/dist/lib/xml/getAttribute.d.ts.map +1 -0
- package/dist/lib/xml/getAttribute.js +12 -0
- package/dist/lib/xml/getNodeAttribute.d.ts +3 -0
- package/dist/lib/xml/getNodeAttribute.d.ts.map +1 -0
- package/dist/lib/xml/getNodeAttribute.js +11 -0
- package/dist/lib/xml/getNodeDescription.d.ts +3 -0
- package/dist/lib/xml/getNodeDescription.d.ts.map +1 -0
- package/dist/lib/xml/getNodeDescription.js +12 -0
- package/dist/lib/xml/getNodeName.d.ts +3 -0
- package/dist/lib/xml/getNodeName.d.ts.map +1 -0
- package/dist/lib/xml/getNodeName.js +12 -0
- package/dist/lib/xml/getNodeType.d.ts +3 -0
- package/dist/lib/xml/getNodeType.d.ts.map +1 -0
- package/dist/lib/xml/getNodeType.js +12 -0
- package/dist/lib/xml/index.d.ts +19 -0
- package/dist/lib/xml/index.d.ts.map +1 -0
- package/dist/lib/xml/index.js +34 -0
- package/dist/lib/xml/isNodeObject.d.ts +3 -0
- package/dist/lib/xml/isNodeObject.d.ts.map +1 -0
- package/dist/lib/xml/isNodeObject.js +12 -0
- package/dist/lib/xml/parseBehaviorDefinitionConfig.d.ts +3 -0
- package/dist/lib/xml/parseBehaviorDefinitionConfig.d.ts.map +1 -0
- package/dist/lib/xml/parseBehaviorDefinitionConfig.js +40 -0
- package/dist/lib/xml/parseClassConfig.d.ts +3 -0
- package/dist/lib/xml/parseClassConfig.d.ts.map +1 -0
- package/dist/lib/xml/parseClassConfig.js +59 -0
- package/dist/lib/xml/parseDataElementConfig.d.ts +3 -0
- package/dist/lib/xml/parseDataElementConfig.d.ts.map +1 -0
- package/dist/lib/xml/parseDataElementConfig.js +67 -0
- package/dist/lib/xml/parseDomainConfig.d.ts +3 -0
- package/dist/lib/xml/parseDomainConfig.d.ts.map +1 -0
- package/dist/lib/xml/parseDomainConfig.js +66 -0
- package/dist/lib/xml/parseEnhancementConfig.d.ts +3 -0
- package/dist/lib/xml/parseEnhancementConfig.d.ts.map +1 -0
- package/dist/lib/xml/parseEnhancementConfig.js +73 -0
- package/dist/lib/xml/parsePackageConfig.d.ts +3 -0
- package/dist/lib/xml/parsePackageConfig.d.ts.map +1 -0
- package/dist/lib/xml/parsePackageConfig.js +48 -0
- package/dist/lib/xml/parseTableTypeConfig.d.ts +3 -0
- package/dist/lib/xml/parseTableTypeConfig.d.ts.map +1 -0
- package/dist/lib/xml/parseTableTypeConfig.js +64 -0
- package/dist/lib/xml/readAttr.d.ts +3 -0
- package/dist/lib/xml/readAttr.d.ts.map +1 -0
- package/dist/lib/xml/readAttr.js +16 -0
- package/dist/lib/xml/toBoolean.d.ts +2 -0
- package/dist/lib/xml/toBoolean.d.ts.map +1 -0
- package/dist/lib/xml/toBoolean.js +15 -0
- package/dist/lib/xml/toNumber.d.ts +2 -0
- package/dist/lib/xml/toNumber.d.ts.map +1 -0
- package/dist/lib/xml/toNumber.js +10 -0
- package/package.json +64 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.collectTreeDependencies = collectTreeDependencies;
|
|
4
|
+
const logVerbose_1 = require("../cli/logVerbose");
|
|
5
|
+
const flattenTree_1 = require("../tree/flattenTree");
|
|
6
|
+
const getNodeObjectSpec_1 = require("../tree/getNodeObjectSpec");
|
|
7
|
+
const mapAdtTypeToSupported_1 = require("../tree/mapAdtTypeToSupported");
|
|
8
|
+
const formatObjectSpec_1 = require("../utils/formatObjectSpec");
|
|
9
|
+
const objectId_1 = require("../utils/objectId");
|
|
10
|
+
const WHERE_USED_TYPE_MAP = {
|
|
11
|
+
package: 'DEVC/K',
|
|
12
|
+
domain: 'DOMA/DD',
|
|
13
|
+
dataElement: 'DTEL/DE',
|
|
14
|
+
structure: 'STRU/DT',
|
|
15
|
+
table: 'TABL/DT',
|
|
16
|
+
view: 'DDLS/DF',
|
|
17
|
+
class: 'CLAS/OC',
|
|
18
|
+
interface: 'INTF/IF',
|
|
19
|
+
program: 'PROG/P',
|
|
20
|
+
functionGroup: 'FUGR/F',
|
|
21
|
+
functionModule: 'FUGR/FF',
|
|
22
|
+
serviceDefinition: 'SRVD/SRV',
|
|
23
|
+
metadataExtension: 'DDLX/EX',
|
|
24
|
+
behaviorDefinition: 'BDEF/BDO',
|
|
25
|
+
behaviorImplementation: 'BIMP/BIM',
|
|
26
|
+
};
|
|
27
|
+
function mapWhereUsedSpec(entry) {
|
|
28
|
+
const supported = (0, mapAdtTypeToSupported_1.mapAdtTypeToSupported)(entry.type);
|
|
29
|
+
if (!supported) {
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
const spec = { type: supported, name: entry.name };
|
|
33
|
+
return { ...spec, id: (0, objectId_1.objectId)(spec) };
|
|
34
|
+
}
|
|
35
|
+
async function collectTreeDependencies(client, root) {
|
|
36
|
+
const nodes = (0, flattenTree_1.flattenTree)(root).filter((node) => node.type && node.restoreStatus === 'ok');
|
|
37
|
+
const nodeById = new Map();
|
|
38
|
+
for (const node of nodes) {
|
|
39
|
+
const spec = (0, getNodeObjectSpec_1.getNodeObjectSpec)(node);
|
|
40
|
+
if (!spec) {
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
nodeById.set((0, objectId_1.objectId)(spec), node);
|
|
44
|
+
}
|
|
45
|
+
for (const node of nodes) {
|
|
46
|
+
const spec = (0, getNodeObjectSpec_1.getNodeObjectSpec)(node);
|
|
47
|
+
if (!spec) {
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
const whereUsedType = WHERE_USED_TYPE_MAP[spec.type];
|
|
51
|
+
if (!whereUsedType) {
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
const objectName = spec.type === 'functionModule' && spec.functionGroupName
|
|
55
|
+
? `${spec.functionGroupName}|${spec.name}`
|
|
56
|
+
: spec.name;
|
|
57
|
+
try {
|
|
58
|
+
(0, logVerbose_1.logVerbose)(3, ` Fetching dependencies for ${objectName}...`);
|
|
59
|
+
const result = await client.getUtils().getWhereUsedList({
|
|
60
|
+
object_name: objectName,
|
|
61
|
+
object_type: whereUsedType,
|
|
62
|
+
enableAllTypes: true,
|
|
63
|
+
});
|
|
64
|
+
(0, logVerbose_1.logVerbose)(3, ` Raw references found for ${objectName}: ${result.totalReferences}`);
|
|
65
|
+
const usedBy = new Set();
|
|
66
|
+
for (const ref of result.references) {
|
|
67
|
+
const usedSpec = mapWhereUsedSpec(ref);
|
|
68
|
+
if (!usedSpec) {
|
|
69
|
+
(0, logVerbose_1.logVerbose)(4, ` Skip: unknown type/name for ${ref.type}:${ref.name}`);
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
if (usedSpec.id === (0, objectId_1.objectId)(spec)) {
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
if (!nodeById.has(usedSpec.id)) {
|
|
76
|
+
(0, logVerbose_1.logVerbose)(4, ` Skip: object not in backup tree ${usedSpec.id} (found matches: ${Array.from(nodeById.keys())
|
|
77
|
+
.filter((k) => k.includes(usedSpec.name))
|
|
78
|
+
.join(', ')})`);
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
usedBy.add((0, formatObjectSpec_1.formatObjectSpec)({
|
|
82
|
+
type: usedSpec.type,
|
|
83
|
+
name: usedSpec.name,
|
|
84
|
+
functionGroupName: usedSpec.functionGroupName,
|
|
85
|
+
}));
|
|
86
|
+
}
|
|
87
|
+
if (usedBy.size > 0) {
|
|
88
|
+
node.usedBy = Array.from(usedBy).sort();
|
|
89
|
+
(0, logVerbose_1.logVerbose)(2, ` Dependencies collected for ${objectName}: ${node.usedBy.join(', ')}`);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
(0, logVerbose_1.logVerbose)(3, ` No internal dependencies found for ${objectName} (after filtering)`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
(0, logVerbose_1.logVerbose)(2, ` Error getting dependencies for ${objectName}: ${error.message}`);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export * from './auth';
|
|
2
|
+
export * from './backup';
|
|
3
|
+
export * from './cli';
|
|
4
|
+
export * from './constants';
|
|
5
|
+
export * from './crypto';
|
|
6
|
+
export * from './restore';
|
|
7
|
+
export * from './run';
|
|
8
|
+
export * from './state';
|
|
9
|
+
export * from './tree';
|
|
10
|
+
export * from './types';
|
|
11
|
+
export * from './utils';
|
|
12
|
+
export * from './verify';
|
|
13
|
+
export * from './xml';
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./auth"), exports);
|
|
18
|
+
__exportStar(require("./backup"), exports);
|
|
19
|
+
__exportStar(require("./cli"), exports);
|
|
20
|
+
__exportStar(require("./constants"), exports);
|
|
21
|
+
__exportStar(require("./crypto"), exports);
|
|
22
|
+
__exportStar(require("./restore"), exports);
|
|
23
|
+
__exportStar(require("./run"), exports);
|
|
24
|
+
__exportStar(require("./state"), exports);
|
|
25
|
+
__exportStar(require("./tree"), exports);
|
|
26
|
+
__exportStar(require("./types"), exports);
|
|
27
|
+
__exportStar(require("./utils"), exports);
|
|
28
|
+
__exportStar(require("./verify"), exports);
|
|
29
|
+
__exportStar(require("./xml"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyTransportRequest.d.ts","sourceRoot":"","sources":["../../../src/lib/restore/applyTransportRequest.ts"],"names":[],"mappings":"AAAA,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrE,MAAM,EAAE,CAAC,EACT,gBAAgB,CAAC,EAAE,MAAM,GACxB,CAAC,CAQH"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.applyTransportRequest = applyTransportRequest;
|
|
4
|
+
function applyTransportRequest(config, transportRequest) {
|
|
5
|
+
if (!transportRequest || transportRequest.trim().length === 0) {
|
|
6
|
+
return config;
|
|
7
|
+
}
|
|
8
|
+
return {
|
|
9
|
+
...config,
|
|
10
|
+
transportRequest: transportRequest.trim(),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { BackupTreeNode } from '../types';
|
|
2
|
+
import type { VerifyEntry, VerifyStatus } from '../verify/types';
|
|
3
|
+
export type RestoreAction = 'create' | 'update' | 'skip' | 'error';
|
|
4
|
+
export type RestorePlanItem = {
|
|
5
|
+
id: string;
|
|
6
|
+
node: BackupTreeNode;
|
|
7
|
+
status: VerifyStatus;
|
|
8
|
+
action: RestoreAction;
|
|
9
|
+
message?: string;
|
|
10
|
+
};
|
|
11
|
+
export declare function buildRestorePlan(root: BackupTreeNode, entries: VerifyEntry[]): RestorePlanItem[];
|
|
12
|
+
//# sourceMappingURL=buildRestorePlan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildRestorePlan.d.ts","sourceRoot":"","sources":["../../../src/lib/restore/buildRestorePlan.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEjE,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAEnE,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAYF,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,WAAW,EAAE,GACrB,eAAe,EAAE,CAsCnB"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildRestorePlan = buildRestorePlan;
|
|
4
|
+
const flattenTree_1 = require("../tree/flattenTree");
|
|
5
|
+
const getNodeObjectId_1 = require("../tree/getNodeObjectId");
|
|
6
|
+
const objectId_1 = require("../utils/objectId");
|
|
7
|
+
const ACTION_BY_STATUS = {
|
|
8
|
+
ok: 'skip',
|
|
9
|
+
missing: 'create',
|
|
10
|
+
'type-mismatch': 'error',
|
|
11
|
+
'package-mismatch': 'update',
|
|
12
|
+
'source-mismatch': 'update',
|
|
13
|
+
unsupported: 'skip',
|
|
14
|
+
error: 'error',
|
|
15
|
+
};
|
|
16
|
+
function buildRestorePlan(root, entries) {
|
|
17
|
+
const entryById = new Map();
|
|
18
|
+
for (const entry of entries) {
|
|
19
|
+
entryById.set((0, objectId_1.objectId)({
|
|
20
|
+
type: entry.type,
|
|
21
|
+
name: entry.name,
|
|
22
|
+
functionGroupName: entry.functionGroupName,
|
|
23
|
+
}), entry);
|
|
24
|
+
}
|
|
25
|
+
const nodes = (0, flattenTree_1.flattenTree)(root).filter((node) => node.type && node.restoreStatus === 'ok');
|
|
26
|
+
const plan = [];
|
|
27
|
+
for (const node of nodes) {
|
|
28
|
+
const id = (0, getNodeObjectId_1.getNodeObjectId)(node);
|
|
29
|
+
if (!id) {
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
const entry = entryById.get(id);
|
|
33
|
+
if (!entry) {
|
|
34
|
+
plan.push({ id, node, status: 'ok', action: 'skip' });
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
plan.push({
|
|
38
|
+
id,
|
|
39
|
+
node,
|
|
40
|
+
status: entry.status,
|
|
41
|
+
action: ACTION_BY_STATUS[entry.status],
|
|
42
|
+
message: entry.message,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
return plan;
|
|
46
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collectDeletionTargets.d.ts","sourceRoot":"","sources":["../../../src/lib/restore/collectDeletionTargets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,cAAc,GAAG,cAAc,EAAE,CAqB7E"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.collectDeletionTargets = collectDeletionTargets;
|
|
4
|
+
function collectDeletionTargets(root) {
|
|
5
|
+
const targets = [];
|
|
6
|
+
const seen = new Set();
|
|
7
|
+
const visit = (node) => {
|
|
8
|
+
if (node.adtType && node.adtType !== 'DEVC/K') {
|
|
9
|
+
const key = `${node.adtType}:${node.name}`;
|
|
10
|
+
if (!seen.has(key)) {
|
|
11
|
+
seen.add(key);
|
|
12
|
+
targets.push({ name: node.name, type: node.adtType });
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
if (node.children && node.children.length > 0) {
|
|
16
|
+
for (const child of node.children) {
|
|
17
|
+
visit(child);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
visit(root);
|
|
22
|
+
return targets;
|
|
23
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AdtClient } from '@mcp-abap-adt/adt-clients';
|
|
2
|
+
import type { BackupTreeFile } from '../types';
|
|
3
|
+
export declare function deleteBackupObjects(client: AdtClient, backup: BackupTreeFile, transportRequest?: string): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=deleteBackupObjects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deleteBackupObjects.d.ts","sourceRoot":"","sources":["../../../src/lib/restore/deleteBackupObjects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG/C,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,cAAc,EACtB,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,IAAI,CAAC,CAsBf"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteBackupObjects = deleteBackupObjects;
|
|
4
|
+
const collectDeletionTargets_1 = require("./collectDeletionTargets");
|
|
5
|
+
async function deleteBackupObjects(client, backup, transportRequest) {
|
|
6
|
+
const targets = (0, collectDeletionTargets_1.collectDeletionTargets)(backup.root);
|
|
7
|
+
if (targets.length === 0) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
const checkResponse = await client.getUtils().checkDeletionGroup(targets);
|
|
11
|
+
const messages = checkResponse.data?.messages || [];
|
|
12
|
+
const errors = messages.filter((m) => m.severity === 'error' || m.severity === 'E');
|
|
13
|
+
if (errors.length > 0) {
|
|
14
|
+
const errorList = errors
|
|
15
|
+
.map((e) => `${e.objName}: ${e.text}`)
|
|
16
|
+
.join('\n');
|
|
17
|
+
throw new Error(`Deletion check failed before cleanup:\n${errorList}`);
|
|
18
|
+
}
|
|
19
|
+
await client
|
|
20
|
+
.getUtils()
|
|
21
|
+
.deleteObjectsGroup(targets, transportRequest?.trim() || undefined);
|
|
22
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './applyTransportRequest';
|
|
2
|
+
export * from './collectDeletionTargets';
|
|
3
|
+
export * from './deleteBackupObjects';
|
|
4
|
+
export * from './restoreObject';
|
|
5
|
+
export * from './restoreObjects';
|
|
6
|
+
export * from './restoreTreeBackup';
|
|
7
|
+
export * from './restoreTreeNode';
|
|
8
|
+
export * from './sortByDependencies';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/restore/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./applyTransportRequest"), exports);
|
|
18
|
+
__exportStar(require("./collectDeletionTargets"), exports);
|
|
19
|
+
__exportStar(require("./deleteBackupObjects"), exports);
|
|
20
|
+
__exportStar(require("./restoreObject"), exports);
|
|
21
|
+
__exportStar(require("./restoreObjects"), exports);
|
|
22
|
+
__exportStar(require("./restoreTreeBackup"), exports);
|
|
23
|
+
__exportStar(require("./restoreTreeNode"), exports);
|
|
24
|
+
__exportStar(require("./sortByDependencies"), exports);
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AdtClient } from '@mcp-abap-adt/adt-clients';
|
|
2
|
+
import type { BackupObject, RestoreMode } from '../types';
|
|
3
|
+
export declare function restoreObject(client: AdtClient, obj: BackupObject, mode: RestoreMode, activate: boolean, transportRequest?: string): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=restoreObject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restoreObject.d.ts","sourceRoot":"","sources":["../../../src/lib/restore/restoreObject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EAkBV,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,CAwRf"}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.restoreObject = restoreObject;
|
|
4
|
+
const applyConfigName_1 = require("../utils/applyConfigName");
|
|
5
|
+
const asConfig_1 = require("../utils/asConfig");
|
|
6
|
+
const ensureDescription_1 = require("../utils/ensureDescription");
|
|
7
|
+
const applyTransportRequest_1 = require("./applyTransportRequest");
|
|
8
|
+
async function restoreObject(client, obj, mode, activate, transportRequest) {
|
|
9
|
+
const baseConfig = (0, applyConfigName_1.applyConfigName)(obj.type, obj.name, obj.functionGroupName, obj.config);
|
|
10
|
+
const config = (0, applyTransportRequest_1.applyTransportRequest)((0, ensureDescription_1.ensureDescription)(baseConfig, obj.name), transportRequest);
|
|
11
|
+
const options = {
|
|
12
|
+
activateOnCreate: activate,
|
|
13
|
+
activateOnUpdate: activate,
|
|
14
|
+
};
|
|
15
|
+
switch (obj.type) {
|
|
16
|
+
case 'package': {
|
|
17
|
+
if (mode !== 'update') {
|
|
18
|
+
await client
|
|
19
|
+
.getPackage()
|
|
20
|
+
.create((0, asConfig_1.asConfig)(config), options);
|
|
21
|
+
}
|
|
22
|
+
if (mode !== 'create') {
|
|
23
|
+
await client
|
|
24
|
+
.getPackage()
|
|
25
|
+
.update((0, asConfig_1.asConfig)(config), options);
|
|
26
|
+
}
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
case 'domain': {
|
|
30
|
+
if (mode !== 'update') {
|
|
31
|
+
await client
|
|
32
|
+
.getDomain()
|
|
33
|
+
.create((0, asConfig_1.asConfig)(config), options);
|
|
34
|
+
}
|
|
35
|
+
if (mode !== 'create') {
|
|
36
|
+
await client
|
|
37
|
+
.getDomain()
|
|
38
|
+
.update((0, asConfig_1.asConfig)(config), options);
|
|
39
|
+
}
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
case 'dataElement': {
|
|
43
|
+
if (mode !== 'update') {
|
|
44
|
+
await client
|
|
45
|
+
.getDataElement()
|
|
46
|
+
.create((0, asConfig_1.asConfig)(config), options);
|
|
47
|
+
}
|
|
48
|
+
if (mode !== 'create') {
|
|
49
|
+
await client
|
|
50
|
+
.getDataElement()
|
|
51
|
+
.update((0, asConfig_1.asConfig)(config), options);
|
|
52
|
+
}
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
case 'structure': {
|
|
56
|
+
if (mode !== 'update') {
|
|
57
|
+
await client
|
|
58
|
+
.getStructure()
|
|
59
|
+
.create((0, asConfig_1.asConfig)(config), options);
|
|
60
|
+
}
|
|
61
|
+
if (obj.source) {
|
|
62
|
+
await client.getStructure().update((0, asConfig_1.asConfig)({
|
|
63
|
+
...config,
|
|
64
|
+
ddlCode: obj.source,
|
|
65
|
+
}), options);
|
|
66
|
+
}
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
case 'table': {
|
|
70
|
+
if (mode !== 'update') {
|
|
71
|
+
await client.getTable().create((0, asConfig_1.asConfig)(config), options);
|
|
72
|
+
}
|
|
73
|
+
if (obj.source) {
|
|
74
|
+
await client
|
|
75
|
+
.getTable()
|
|
76
|
+
.update((0, asConfig_1.asConfig)({ ...config, ddlCode: obj.source }), options);
|
|
77
|
+
}
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
case 'view': {
|
|
81
|
+
if (mode !== 'update') {
|
|
82
|
+
await client.getView().create((0, asConfig_1.asConfig)(config), options);
|
|
83
|
+
}
|
|
84
|
+
if (obj.source) {
|
|
85
|
+
await client
|
|
86
|
+
.getView()
|
|
87
|
+
.update((0, asConfig_1.asConfig)({ ...config, ddlSource: obj.source }), options);
|
|
88
|
+
}
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
case 'class': {
|
|
92
|
+
if (mode !== 'update') {
|
|
93
|
+
await client.getClass().create((0, asConfig_1.asConfig)(config), options);
|
|
94
|
+
}
|
|
95
|
+
if (obj.source) {
|
|
96
|
+
await client.getClass().update((0, asConfig_1.asConfig)({
|
|
97
|
+
...config,
|
|
98
|
+
sourceCode: obj.source,
|
|
99
|
+
}), options);
|
|
100
|
+
}
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
case 'interface': {
|
|
104
|
+
if (mode !== 'update') {
|
|
105
|
+
await client
|
|
106
|
+
.getInterface()
|
|
107
|
+
.create((0, asConfig_1.asConfig)(config), options);
|
|
108
|
+
}
|
|
109
|
+
if (obj.source) {
|
|
110
|
+
await client.getInterface().update((0, asConfig_1.asConfig)({
|
|
111
|
+
...config,
|
|
112
|
+
sourceCode: obj.source,
|
|
113
|
+
}), options);
|
|
114
|
+
}
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
case 'program': {
|
|
118
|
+
if (mode !== 'update') {
|
|
119
|
+
await client
|
|
120
|
+
.getProgram()
|
|
121
|
+
.create((0, asConfig_1.asConfig)(config), options);
|
|
122
|
+
}
|
|
123
|
+
if (obj.source) {
|
|
124
|
+
await client.getProgram().update((0, asConfig_1.asConfig)({
|
|
125
|
+
...config,
|
|
126
|
+
sourceCode: obj.source,
|
|
127
|
+
}), options);
|
|
128
|
+
}
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
case 'functionGroup': {
|
|
132
|
+
if (mode !== 'update') {
|
|
133
|
+
await client
|
|
134
|
+
.getFunctionGroup()
|
|
135
|
+
.create((0, asConfig_1.asConfig)(config), options);
|
|
136
|
+
}
|
|
137
|
+
if (mode !== 'create') {
|
|
138
|
+
await client
|
|
139
|
+
.getFunctionGroup()
|
|
140
|
+
.update((0, asConfig_1.asConfig)(config), options);
|
|
141
|
+
}
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
case 'functionModule': {
|
|
145
|
+
if (mode !== 'update') {
|
|
146
|
+
await client
|
|
147
|
+
.getFunctionModule()
|
|
148
|
+
.create((0, asConfig_1.asConfig)(config), options);
|
|
149
|
+
}
|
|
150
|
+
if (obj.source) {
|
|
151
|
+
await client.getFunctionModule().update((0, asConfig_1.asConfig)({
|
|
152
|
+
...config,
|
|
153
|
+
sourceCode: obj.source,
|
|
154
|
+
}), options);
|
|
155
|
+
}
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
case 'serviceDefinition': {
|
|
159
|
+
if (mode !== 'update') {
|
|
160
|
+
await client
|
|
161
|
+
.getServiceDefinition()
|
|
162
|
+
.create((0, asConfig_1.asConfig)(config), options);
|
|
163
|
+
}
|
|
164
|
+
if (obj.source) {
|
|
165
|
+
await client.getServiceDefinition().update((0, asConfig_1.asConfig)({
|
|
166
|
+
...config,
|
|
167
|
+
sourceCode: obj.source,
|
|
168
|
+
}), options);
|
|
169
|
+
}
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
case 'metadataExtension': {
|
|
173
|
+
if (mode !== 'update') {
|
|
174
|
+
await client
|
|
175
|
+
.getMetadataExtension()
|
|
176
|
+
.create((0, asConfig_1.asConfig)(config), options);
|
|
177
|
+
}
|
|
178
|
+
if (obj.source) {
|
|
179
|
+
await client.getMetadataExtension().update((0, asConfig_1.asConfig)({
|
|
180
|
+
...config,
|
|
181
|
+
sourceCode: obj.source,
|
|
182
|
+
}), options);
|
|
183
|
+
}
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
case 'behaviorDefinition': {
|
|
187
|
+
if (mode !== 'update') {
|
|
188
|
+
await client
|
|
189
|
+
.getBehaviorDefinition()
|
|
190
|
+
.create((0, asConfig_1.asConfig)(config), options);
|
|
191
|
+
}
|
|
192
|
+
if (obj.source) {
|
|
193
|
+
await client.getBehaviorDefinition().update((0, asConfig_1.asConfig)({
|
|
194
|
+
...config,
|
|
195
|
+
sourceCode: obj.source,
|
|
196
|
+
}), options);
|
|
197
|
+
}
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
case 'behaviorImplementation': {
|
|
201
|
+
if (mode !== 'update') {
|
|
202
|
+
await client
|
|
203
|
+
.getBehaviorImplementation()
|
|
204
|
+
.create((0, asConfig_1.asConfig)(config), options);
|
|
205
|
+
}
|
|
206
|
+
if (obj.source) {
|
|
207
|
+
await client.getBehaviorImplementation().update((0, asConfig_1.asConfig)({
|
|
208
|
+
...config,
|
|
209
|
+
sourceCode: obj.source,
|
|
210
|
+
}), options);
|
|
211
|
+
}
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
case 'enhancement': {
|
|
215
|
+
if (mode !== 'update') {
|
|
216
|
+
await client
|
|
217
|
+
.getEnhancement()
|
|
218
|
+
.create((0, asConfig_1.asConfig)(config), options);
|
|
219
|
+
}
|
|
220
|
+
if (obj.source) {
|
|
221
|
+
await client.getEnhancement().update((0, asConfig_1.asConfig)({
|
|
222
|
+
...config,
|
|
223
|
+
sourceCode: obj.source,
|
|
224
|
+
}), options);
|
|
225
|
+
}
|
|
226
|
+
return;
|
|
227
|
+
}
|
|
228
|
+
case 'tableType': {
|
|
229
|
+
if (mode !== 'update') {
|
|
230
|
+
await client
|
|
231
|
+
.getTableType()
|
|
232
|
+
.create((0, asConfig_1.asConfig)(config), options);
|
|
233
|
+
}
|
|
234
|
+
if (mode !== 'create') {
|
|
235
|
+
await client
|
|
236
|
+
.getTableType()
|
|
237
|
+
.update((0, asConfig_1.asConfig)(config), options);
|
|
238
|
+
}
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AdtClient } from '@mcp-abap-adt/adt-clients';
|
|
2
|
+
import type { BackupObject, RestoreMode } from '../types';
|
|
3
|
+
export declare function restoreObjects(client: AdtClient, objects: BackupObject[], mode: RestoreMode, activateOnUpdate: boolean, transportRequest?: string, restoreActions?: Map<string, RestoreMode>, activateOnCreate?: boolean): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=restoreObjects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restoreObjects.d.ts","sourceRoot":"","sources":["../../../src/lib/restore/restoreObjects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAI1D,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,YAAY,EAAE,EACvB,IAAI,EAAE,WAAW,EACjB,gBAAgB,EAAE,OAAO,EACzB,gBAAgB,CAAC,EAAE,MAAM,EACzB,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EACzC,gBAAgB,UAAO,GACtB,OAAO,CAAC,IAAI,CAAC,CA0Cf"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.restoreObjects = restoreObjects;
|
|
4
|
+
const logVerbose_1 = require("../cli/logVerbose");
|
|
5
|
+
const restoreObject_1 = require("./restoreObject");
|
|
6
|
+
const sortByDependencies_1 = require("./sortByDependencies");
|
|
7
|
+
async function restoreObjects(client, objects, mode, activateOnUpdate, transportRequest, restoreActions, activateOnCreate = true) {
|
|
8
|
+
const ordered = (0, sortByDependencies_1.sortByDependencies)(objects);
|
|
9
|
+
(0, logVerbose_1.logVerbose)(2, `Restoring ${ordered.length} object(s) in flat mode (mode=${mode}, activate=${activateOnUpdate})`);
|
|
10
|
+
for (const obj of ordered) {
|
|
11
|
+
(0, logVerbose_1.logVerbose)(3, `Restore ${obj.type}:${obj.name}`);
|
|
12
|
+
const nodeMode = mode === 'upsert' && restoreActions?.has(obj.id)
|
|
13
|
+
? restoreActions.get(obj.id)
|
|
14
|
+
: mode;
|
|
15
|
+
const effectiveActivate = nodeMode === 'create' ? activateOnCreate : activateOnUpdate;
|
|
16
|
+
if (nodeMode === 'upsert') {
|
|
17
|
+
try {
|
|
18
|
+
await (0, restoreObject_1.restoreObject)(client, obj, 'create', effectiveActivate, transportRequest);
|
|
19
|
+
}
|
|
20
|
+
catch (_error) {
|
|
21
|
+
await (0, restoreObject_1.restoreObject)(client, obj, 'update', effectiveActivate, transportRequest);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
await (0, restoreObject_1.restoreObject)(client, obj, nodeMode || mode, effectiveActivate, transportRequest);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AdtClient } from '@mcp-abap-adt/adt-clients';
|
|
2
|
+
import type { BackupTreeNode, RestoreMode } from '../types';
|
|
3
|
+
export declare function restoreTreeBackup(client: AdtClient, root: BackupTreeNode, mode: RestoreMode, activate: boolean, transportRequest?: string, restoreIds?: Set<string>, restoreActions?: Map<string, RestoreMode>, activateOnCreate?: boolean, softwareComponent?: string): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=restoreTreeBackup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restoreTreeBackup.d.ts","sourceRoot":"","sources":["../../../src/lib/restore/restoreTreeBackup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,2BAA2B,CAAC;AAK5E,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAI5D,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,OAAO,EACjB,gBAAgB,CAAC,EAAE,MAAM,EACzB,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EACxB,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EACzC,gBAAgB,UAAO,EACvB,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,IAAI,CAAC,CAsGf"}
|