@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 @@
|
|
|
1
|
+
{"version":3,"file":"objectId.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/objectId.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAKjD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.objectId = objectId;
|
|
4
|
+
function objectId(spec) {
|
|
5
|
+
if (spec.type === 'functionModule') {
|
|
6
|
+
return `${spec.type}:${spec.functionGroupName}|${spec.name}`;
|
|
7
|
+
}
|
|
8
|
+
return `${spec.type}:${spec.name}`;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseBehaviorDefinitionFromClass.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/parseBehaviorDefinitionFromClass.ts"],"names":[],"mappings":"AAAA,wBAAgB,gCAAgC,CAC9C,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,GAAG,SAAS,CAMpB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseBehaviorDefinitionFromClass = parseBehaviorDefinitionFromClass;
|
|
4
|
+
function parseBehaviorDefinitionFromClass(source) {
|
|
5
|
+
if (!source) {
|
|
6
|
+
return undefined;
|
|
7
|
+
}
|
|
8
|
+
const match = source.match(/FOR\\s+BEHAVIOR\\s+OF\\s+([A-Z0-9_/]+)/i);
|
|
9
|
+
return match ? match[1] : undefined;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseObjectSpec.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/parseObjectSpec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CA0BxD"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseObjectSpec = parseObjectSpec;
|
|
4
|
+
const normalizeType_1 = require("./normalizeType");
|
|
5
|
+
function parseObjectSpec(spec) {
|
|
6
|
+
const parts = spec.split(':');
|
|
7
|
+
if (parts.length < 2) {
|
|
8
|
+
throw new Error(`Invalid object spec: ${spec}`);
|
|
9
|
+
}
|
|
10
|
+
const type = (0, normalizeType_1.normalizeType)(parts[0]);
|
|
11
|
+
const namePart = parts.slice(1).join(':').trim();
|
|
12
|
+
if (!namePart) {
|
|
13
|
+
throw new Error(`Missing name in object spec: ${spec}`);
|
|
14
|
+
}
|
|
15
|
+
if (type === 'functionModule') {
|
|
16
|
+
const split = namePart.split(/[|/]/);
|
|
17
|
+
if (split.length !== 2) {
|
|
18
|
+
throw new Error(`Function module spec must be GROUP|NAME or GROUP/NAME: ${spec}`);
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
type,
|
|
22
|
+
functionGroupName: split[0].trim(),
|
|
23
|
+
name: split[1].trim(),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
return { type, name: namePart };
|
|
27
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"responseToText.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/responseToText.ts"],"names":[],"mappings":"AAAA,wBAAgB,cAAc,CAAC,QAAQ,CAAC,EAAE;IACxC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GAAG,MAAM,GAAG,SAAS,CAOrB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.responseToText = responseToText;
|
|
4
|
+
function responseToText(response) {
|
|
5
|
+
if (!response) {
|
|
6
|
+
return undefined;
|
|
7
|
+
}
|
|
8
|
+
return typeof response.data === 'string'
|
|
9
|
+
? response.data
|
|
10
|
+
: JSON.stringify(response.data);
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toBackupConfig.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/toBackupConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAE3D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collectBackupNodes.d.ts","sourceRoot":"","sources":["../../../src/lib/verify/collectBackupNodes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,cAAc,EAAE,GACpB,IAAI,CASN"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.collectBackupNodes = collectBackupNodes;
|
|
4
|
+
function collectBackupNodes(node, out) {
|
|
5
|
+
if (node.type) {
|
|
6
|
+
out.push(node);
|
|
7
|
+
}
|
|
8
|
+
if (node.children && node.children.length > 0) {
|
|
9
|
+
for (const child of node.children) {
|
|
10
|
+
collectBackupNodes(child, out);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AdtClient } from '@mcp-abap-adt/adt-clients';
|
|
2
|
+
import type { SupportedType } from '../types';
|
|
3
|
+
export declare function findOtherType(client: AdtClient, expectedType: SupportedType, name: string): Promise<SupportedType | undefined>;
|
|
4
|
+
//# sourceMappingURL=findOtherType.d.ts.map
|
|
@@ -0,0 +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;AAuB9C,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,aAAa,EAC3B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAepC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findOtherType = findOtherType;
|
|
4
|
+
const readMetadataXmlForType_1 = require("../backup/readMetadataXmlForType");
|
|
5
|
+
const supportedTypes = [
|
|
6
|
+
'package',
|
|
7
|
+
'domain',
|
|
8
|
+
'dataElement',
|
|
9
|
+
'structure',
|
|
10
|
+
'table',
|
|
11
|
+
'tableType',
|
|
12
|
+
'view',
|
|
13
|
+
'class',
|
|
14
|
+
'interface',
|
|
15
|
+
'program',
|
|
16
|
+
'functionGroup',
|
|
17
|
+
'serviceDefinition',
|
|
18
|
+
'metadataExtension',
|
|
19
|
+
'behaviorDefinition',
|
|
20
|
+
'behaviorImplementation',
|
|
21
|
+
'enhancement',
|
|
22
|
+
'unitTest',
|
|
23
|
+
'cdsUnitTest',
|
|
24
|
+
];
|
|
25
|
+
async function findOtherType(client, expectedType, name) {
|
|
26
|
+
for (const type of supportedTypes) {
|
|
27
|
+
if (type === expectedType || type === 'functionModule') {
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
try {
|
|
31
|
+
const metadata = await (0, readMetadataXmlForType_1.readMetadataXmlForType)(client, type, name);
|
|
32
|
+
if (metadata) {
|
|
33
|
+
return type;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
catch (_error) {
|
|
37
|
+
// ignore and try next type
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatVerifyResultsText.d.ts","sourceRoot":"","sources":["../../../src/lib/verify/formatVerifyResultsText.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE1D,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,WAAW,EAAE,EACtB,OAAO,EAAE,aAAa,GACrB,MAAM,CA+BR"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatVerifyResultsText = formatVerifyResultsText;
|
|
4
|
+
const formatObjectSpec_1 = require("../utils/formatObjectSpec");
|
|
5
|
+
function formatVerifyResultsText(entries, summary) {
|
|
6
|
+
const lines = [];
|
|
7
|
+
lines.push(`Total: ${summary.total}, ok: ${summary.ok}, missing: ${summary.missing}, ` +
|
|
8
|
+
`type-mismatch: ${summary.typeMismatch}, package-mismatch: ${summary.packageMismatch}, ` +
|
|
9
|
+
`source-mismatch: ${summary.sourceMismatch}, unsupported: ${summary.unsupported}, ` +
|
|
10
|
+
`error: ${summary.error}`);
|
|
11
|
+
for (const entry of entries) {
|
|
12
|
+
if (entry.status === 'ok') {
|
|
13
|
+
continue;
|
|
14
|
+
}
|
|
15
|
+
const spec = (0, formatObjectSpec_1.formatObjectSpec)({
|
|
16
|
+
type: entry.type,
|
|
17
|
+
name: entry.name,
|
|
18
|
+
functionGroupName: entry.functionGroupName,
|
|
19
|
+
});
|
|
20
|
+
const parts = [`${entry.status} ${spec}`];
|
|
21
|
+
if (entry.expectedPackage || entry.actualPackage) {
|
|
22
|
+
parts.push(`package=${entry.expectedPackage ?? '-'} -> ${entry.actualPackage ?? '-'}`);
|
|
23
|
+
}
|
|
24
|
+
if (entry.message) {
|
|
25
|
+
parts.push(entry.message);
|
|
26
|
+
}
|
|
27
|
+
lines.push(parts.join(' | '));
|
|
28
|
+
}
|
|
29
|
+
return lines.join('\n');
|
|
30
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getExpectedPackage.d.ts","sourceRoot":"","sources":["../../../src/lib/verify/getExpectedPackage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAU5E"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getExpectedPackage = getExpectedPackage;
|
|
4
|
+
function getExpectedPackage(config) {
|
|
5
|
+
if (!config || typeof config !== 'object') {
|
|
6
|
+
return undefined;
|
|
7
|
+
}
|
|
8
|
+
const record = config;
|
|
9
|
+
const name = record.packageName;
|
|
10
|
+
if (typeof name !== 'string' || name.trim().length === 0) {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
return name;
|
|
14
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './collectBackupNodes';
|
|
2
|
+
export * from './findOtherType';
|
|
3
|
+
export * from './formatVerifyResultsText';
|
|
4
|
+
export * from './getExpectedPackage';
|
|
5
|
+
export * from './types';
|
|
6
|
+
export * from './verifyBackup';
|
|
7
|
+
export * from './verifyObjectInSystem';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/verify/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
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("./collectBackupNodes"), exports);
|
|
18
|
+
__exportStar(require("./findOtherType"), exports);
|
|
19
|
+
__exportStar(require("./formatVerifyResultsText"), exports);
|
|
20
|
+
__exportStar(require("./getExpectedPackage"), exports);
|
|
21
|
+
__exportStar(require("./types"), exports);
|
|
22
|
+
__exportStar(require("./verifyBackup"), exports);
|
|
23
|
+
__exportStar(require("./verifyObjectInSystem"), exports);
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { SupportedType } from '../types';
|
|
2
|
+
export type VerifyStatus = 'ok' | 'missing' | 'type-mismatch' | 'package-mismatch' | 'source-mismatch' | 'unsupported' | 'error';
|
|
3
|
+
export interface VerifyEntry {
|
|
4
|
+
type: SupportedType;
|
|
5
|
+
name: string;
|
|
6
|
+
functionGroupName?: string;
|
|
7
|
+
status: VerifyStatus;
|
|
8
|
+
expectedPackage?: string;
|
|
9
|
+
actualPackage?: string;
|
|
10
|
+
message?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface VerifySummary {
|
|
13
|
+
total: number;
|
|
14
|
+
ok: number;
|
|
15
|
+
missing: number;
|
|
16
|
+
typeMismatch: number;
|
|
17
|
+
packageMismatch: number;
|
|
18
|
+
sourceMismatch: number;
|
|
19
|
+
unsupported: number;
|
|
20
|
+
error: number;
|
|
21
|
+
conflicts: number;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/verify/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,MAAM,MAAM,YAAY,GACpB,IAAI,GACJ,SAAS,GACT,eAAe,GACf,kBAAkB,GAClB,iBAAiB,GACjB,aAAa,GACb,OAAO,CAAC;AAEZ,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { AdtClient } from '@mcp-abap-adt/adt-clients';
|
|
2
|
+
import type { BackupFile, BackupTreeFile } from '../types';
|
|
3
|
+
import type { VerifyEntry, VerifySummary } from './types';
|
|
4
|
+
export declare function verifyBackup(client: AdtClient, backup: BackupFile | BackupTreeFile, options?: {
|
|
5
|
+
strict?: boolean;
|
|
6
|
+
}): Promise<{
|
|
7
|
+
entries: VerifyEntry[];
|
|
8
|
+
summary: VerifySummary;
|
|
9
|
+
}>;
|
|
10
|
+
//# sourceMappingURL=verifyBackup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verifyBackup.d.ts","sourceRoot":"","sources":["../../../src/lib/verify/verifyBackup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAkB,MAAM,UAAU,CAAC;AAG3E,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG1D,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,UAAU,GAAG,cAAc,EACnC,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7B,OAAO,CAAC;IAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,CAAC,CAsE7D"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.verifyBackup = verifyBackup;
|
|
4
|
+
const collectBackupNodes_1 = require("./collectBackupNodes");
|
|
5
|
+
const getExpectedPackage_1 = require("./getExpectedPackage");
|
|
6
|
+
const verifyObjectInSystem_1 = require("./verifyObjectInSystem");
|
|
7
|
+
async function verifyBackup(client, backup, options) {
|
|
8
|
+
const entries = [];
|
|
9
|
+
if (backup.schemaVersion === 2) {
|
|
10
|
+
const tree = backup;
|
|
11
|
+
const nodes = [];
|
|
12
|
+
(0, collectBackupNodes_1.collectBackupNodes)(tree.root, nodes);
|
|
13
|
+
for (const node of nodes) {
|
|
14
|
+
if (!node.type) {
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
const entry = await (0, verifyObjectInSystem_1.verifyObjectInSystem)(client, {
|
|
18
|
+
type: node.type,
|
|
19
|
+
name: node.name,
|
|
20
|
+
functionGroupName: node.functionGroupName,
|
|
21
|
+
}, (0, getExpectedPackage_1.getExpectedPackage)(node.config), undefined, node.codeBase64, node.codeFormat);
|
|
22
|
+
entries.push(entry);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
const flat = backup;
|
|
27
|
+
for (const obj of flat.objects) {
|
|
28
|
+
const entry = await (0, verifyObjectInSystem_1.verifyObjectInSystem)(client, {
|
|
29
|
+
type: obj.type,
|
|
30
|
+
name: obj.name,
|
|
31
|
+
functionGroupName: obj.functionGroupName,
|
|
32
|
+
}, (0, getExpectedPackage_1.getExpectedPackage)(obj.config), obj.source, undefined, obj.source ? 'source' : undefined);
|
|
33
|
+
entries.push(entry);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const strict = options?.strict ?? false;
|
|
37
|
+
const conflictStatuses = strict
|
|
38
|
+
? ['type-mismatch', 'package-mismatch', 'error', 'source-mismatch']
|
|
39
|
+
: ['type-mismatch', 'package-mismatch', 'error'];
|
|
40
|
+
const summary = {
|
|
41
|
+
total: entries.length,
|
|
42
|
+
ok: entries.filter((entry) => entry.status === 'ok').length,
|
|
43
|
+
missing: entries.filter((entry) => entry.status === 'missing').length,
|
|
44
|
+
typeMismatch: entries.filter((entry) => entry.status === 'type-mismatch')
|
|
45
|
+
.length,
|
|
46
|
+
packageMismatch: entries.filter((entry) => entry.status === 'package-mismatch').length,
|
|
47
|
+
sourceMismatch: entries.filter((entry) => entry.status === 'source-mismatch').length,
|
|
48
|
+
unsupported: entries.filter((entry) => entry.status === 'unsupported')
|
|
49
|
+
.length,
|
|
50
|
+
error: entries.filter((entry) => entry.status === 'error').length,
|
|
51
|
+
conflicts: entries.filter((entry) => conflictStatuses.includes(entry.status)).length,
|
|
52
|
+
};
|
|
53
|
+
return { entries, summary };
|
|
54
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { AdtClient } from '@mcp-abap-adt/adt-clients';
|
|
2
|
+
import type { ObjectSpec } from '../types';
|
|
3
|
+
import type { VerifyEntry } from './types';
|
|
4
|
+
export declare function verifyObjectInSystem(client: AdtClient, spec: ObjectSpec, expectedPackage?: string, expectedSource?: string, expectedSourceBase64?: string, expectedFormat?: 'source' | 'xml' | 'json'): Promise<VerifyEntry>;
|
|
5
|
+
//# sourceMappingURL=verifyObjectInSystem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verifyObjectInSystem.d.ts","sourceRoot":"","sources":["../../../src/lib/verify/verifyObjectInSystem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAK3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAwB3C,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,UAAU,EAChB,eAAe,CAAC,EAAE,MAAM,EACxB,cAAc,CAAC,EAAE,MAAM,EACvB,oBAAoB,CAAC,EAAE,MAAM,EAC7B,cAAc,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,GACzC,OAAO,CAAC,WAAW,CAAC,CA+HtB"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.verifyObjectInSystem = verifyObjectInSystem;
|
|
4
|
+
const readMetadataXmlForType_1 = require("../backup/readMetadataXmlForType");
|
|
5
|
+
const readSourceText_1 = require("../backup/readSourceText");
|
|
6
|
+
const decodeBase64_1 = require("../crypto/decodeBase64");
|
|
7
|
+
const verbosity_1 = require("../state/verbosity");
|
|
8
|
+
const extractMetadata_1 = require("../xml/extractMetadata");
|
|
9
|
+
const findOtherType_1 = require("./findOtherType");
|
|
10
|
+
function getHttpStatus(error) {
|
|
11
|
+
const err = error;
|
|
12
|
+
if (err.response?.status) {
|
|
13
|
+
return err.response.status;
|
|
14
|
+
}
|
|
15
|
+
if (err.status) {
|
|
16
|
+
return err.status;
|
|
17
|
+
}
|
|
18
|
+
// Check if it's a "Request failed with status code 404" style message
|
|
19
|
+
const match = String(err.message || '').match(/status code (\d+)/);
|
|
20
|
+
if (match) {
|
|
21
|
+
return Number.parseInt(match[1], 10);
|
|
22
|
+
}
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
async function verifyObjectInSystem(client, spec, expectedPackage, expectedSource, expectedSourceBase64, expectedFormat) {
|
|
26
|
+
const base = {
|
|
27
|
+
type: spec.type,
|
|
28
|
+
name: spec.name,
|
|
29
|
+
functionGroupName: spec.functionGroupName,
|
|
30
|
+
status: 'ok',
|
|
31
|
+
expectedPackage,
|
|
32
|
+
};
|
|
33
|
+
let metadataXml;
|
|
34
|
+
try {
|
|
35
|
+
metadataXml = await (0, readMetadataXmlForType_1.readMetadataXmlForType)(client, spec.type, spec.name, spec.functionGroupName);
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
const status = getHttpStatus(error);
|
|
39
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
40
|
+
// Check if error message explicitly says "not found"
|
|
41
|
+
// Examples: "Domain 'XYZ' not found", "Function group 'ABC' not found"
|
|
42
|
+
const isNotFoundMessage = /not found/i.test(message) || /does not exist/i.test(message);
|
|
43
|
+
if (status === 404 || status === 410 || isNotFoundMessage) {
|
|
44
|
+
if (verbosity_1.verbosityState.level >= 3) {
|
|
45
|
+
const otherType = await (0, findOtherType_1.findOtherType)(client, spec.type, spec.name);
|
|
46
|
+
if (otherType) {
|
|
47
|
+
return {
|
|
48
|
+
...base,
|
|
49
|
+
status: 'type-mismatch',
|
|
50
|
+
message: `Found object of type ${otherType}`,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
...base,
|
|
56
|
+
status: 'missing',
|
|
57
|
+
message: isNotFoundMessage
|
|
58
|
+
? message
|
|
59
|
+
: 'Object does not exist in the system',
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
// If it's a package, and we failed to read metadata, let's try a simpler check
|
|
63
|
+
if (spec.type === 'package') {
|
|
64
|
+
try {
|
|
65
|
+
await client.getUtils().getPackageContents(spec.name);
|
|
66
|
+
// If this succeeds, the package exists but metadata read failed for some reason
|
|
67
|
+
}
|
|
68
|
+
catch (innerError) {
|
|
69
|
+
const innerStatus = getHttpStatus(innerError);
|
|
70
|
+
if (innerStatus === 404) {
|
|
71
|
+
return { ...base, status: 'missing', message: 'Package not found' };
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
...base,
|
|
77
|
+
status: 'error',
|
|
78
|
+
message: error instanceof Error ? error.message : String(error),
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
if (!metadataXml) {
|
|
82
|
+
return {
|
|
83
|
+
...base,
|
|
84
|
+
status: 'unsupported',
|
|
85
|
+
message: 'Metadata read is not supported for this object type',
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
const metadata = (0, extractMetadata_1.extractMetadata)(metadataXml);
|
|
89
|
+
if (metadata.packageName) {
|
|
90
|
+
base.actualPackage = metadata.packageName;
|
|
91
|
+
}
|
|
92
|
+
if (expectedPackage &&
|
|
93
|
+
metadata.packageName &&
|
|
94
|
+
metadata.packageName.toUpperCase() !== expectedPackage.toUpperCase()) {
|
|
95
|
+
return {
|
|
96
|
+
...base,
|
|
97
|
+
status: 'package-mismatch',
|
|
98
|
+
message: `Expected package ${expectedPackage}, found ${metadata.packageName}`,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
const expectedText = expectedSourceBase64 !== undefined
|
|
102
|
+
? (0, decodeBase64_1.decodeBase64)(expectedSourceBase64)
|
|
103
|
+
: expectedSource;
|
|
104
|
+
if (expectedText !== undefined) {
|
|
105
|
+
if (expectedFormat === 'xml') {
|
|
106
|
+
return base;
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
try {
|
|
110
|
+
const actualSource = await (0, readSourceText_1.readSourceText)(client, spec);
|
|
111
|
+
if (actualSource === undefined) {
|
|
112
|
+
return {
|
|
113
|
+
...base,
|
|
114
|
+
status: 'error',
|
|
115
|
+
message: 'Source not available for comparison',
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
if (expectedText !== actualSource) {
|
|
119
|
+
return {
|
|
120
|
+
...base,
|
|
121
|
+
status: 'source-mismatch',
|
|
122
|
+
message: 'Source differs from backup',
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
return {
|
|
128
|
+
...base,
|
|
129
|
+
status: 'error',
|
|
130
|
+
message: error instanceof Error ? error.message : String(error),
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return base;
|
|
136
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extractMetadata.d.ts","sourceRoot":"","sources":["../../../src/lib/xml/extractMetadata.ts"],"names":[],"mappings":"AAKA,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAOA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.extractMetadata = extractMetadata;
|
|
4
|
+
const xmlParser_1 = require("../constants/xmlParser");
|
|
5
|
+
const findAttribute_1 = require("./findAttribute");
|
|
6
|
+
const findPackageName_1 = require("./findPackageName");
|
|
7
|
+
function extractMetadata(xml) {
|
|
8
|
+
const parsed = xmlParser_1.xmlParser.parse(xml);
|
|
9
|
+
const description = (0, findAttribute_1.findAttribute)(parsed, 'adtcore:description') ||
|
|
10
|
+
(0, findAttribute_1.findAttribute)(parsed, 'description');
|
|
11
|
+
const packageName = (0, findPackageName_1.findPackageName)(parsed);
|
|
12
|
+
return { description, packageName };
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findAttribute.d.ts","sourceRoot":"","sources":["../../../src/lib/xml/findAttribute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,UAAU,CAAC;AAEtD,wBAAgB,aAAa,CAC3B,IAAI,EAAE,SAAS,GAAG,SAAS,EAC3B,aAAa,EAAE,MAAM,GACpB,MAAM,GAAG,SAAS,CA2BpB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findAttribute = findAttribute;
|
|
4
|
+
function findAttribute(node, attributeName) {
|
|
5
|
+
if (!node || typeof node !== 'object') {
|
|
6
|
+
return undefined;
|
|
7
|
+
}
|
|
8
|
+
const attrKey = `@_${attributeName}`;
|
|
9
|
+
if (!Array.isArray(node) &&
|
|
10
|
+
typeof node[attrKey] === 'string') {
|
|
11
|
+
return node[attrKey];
|
|
12
|
+
}
|
|
13
|
+
if (Array.isArray(node)) {
|
|
14
|
+
for (const value of node) {
|
|
15
|
+
const found = findAttribute(value, attributeName);
|
|
16
|
+
if (found) {
|
|
17
|
+
return found;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
for (const value of Object.values(node)) {
|
|
23
|
+
const found = findAttribute(value, attributeName);
|
|
24
|
+
if (found) {
|
|
25
|
+
return found;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findNode.d.ts","sourceRoot":"","sources":["../../../src/lib/xml/findNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,UAAU,CAAC;AAEtD,wBAAgB,QAAQ,CACtB,IAAI,EAAE,SAAS,GAAG,SAAS,EAC3B,IAAI,EAAE,MAAM,EAAE,GACb,SAAS,GAAG,SAAS,CA0BvB"}
|