@mcp-abap-adt/adt-clients 6.0.0 → 7.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -0
- package/dist/core/accessControl/AdtAccessControl.d.ts +2 -0
- package/dist/core/accessControl/AdtAccessControl.d.ts.map +1 -1
- package/dist/core/accessControl/AdtAccessControl.js +7 -0
- package/dist/core/accessControl/versions.d.ts +5 -0
- package/dist/core/accessControl/versions.d.ts.map +1 -0
- package/dist/core/accessControl/versions.js +41 -0
- package/dist/core/appendStructure/AdtAppendStructure.d.ts +2 -0
- package/dist/core/appendStructure/AdtAppendStructure.d.ts.map +1 -1
- package/dist/core/appendStructure/AdtAppendStructure.js +7 -0
- package/dist/core/appendStructure/versions.d.ts +5 -0
- package/dist/core/appendStructure/versions.d.ts.map +1 -0
- package/dist/core/appendStructure/versions.js +41 -0
- package/dist/core/authorizationField/AdtAuthorizationField.d.ts +3 -1
- package/dist/core/authorizationField/AdtAuthorizationField.d.ts.map +1 -1
- package/dist/core/authorizationField/AdtAuthorizationField.js +7 -0
- package/dist/core/behaviorDefinition/AdtBehaviorDefinition.d.ts +2 -0
- package/dist/core/behaviorDefinition/AdtBehaviorDefinition.d.ts.map +1 -1
- package/dist/core/behaviorDefinition/AdtBehaviorDefinition.js +7 -0
- package/dist/core/behaviorDefinition/versions.d.ts +5 -0
- package/dist/core/behaviorDefinition/versions.d.ts.map +1 -0
- package/dist/core/behaviorDefinition/versions.js +41 -0
- package/dist/core/behaviorImplementation/AdtBehaviorImplementation.d.ts +2 -0
- package/dist/core/behaviorImplementation/AdtBehaviorImplementation.d.ts.map +1 -1
- package/dist/core/behaviorImplementation/AdtBehaviorImplementation.js +7 -0
- package/dist/core/behaviorImplementation/versions.d.ts +5 -0
- package/dist/core/behaviorImplementation/versions.d.ts.map +1 -0
- package/dist/core/behaviorImplementation/versions.js +41 -0
- package/dist/core/class/AdtClass.d.ts +6 -1
- package/dist/core/class/AdtClass.d.ts.map +1 -1
- package/dist/core/class/AdtClass.js +13 -0
- package/dist/core/class/AdtLocalDefinitions.d.ts +4 -1
- package/dist/core/class/AdtLocalDefinitions.d.ts.map +1 -1
- package/dist/core/class/AdtLocalDefinitions.js +10 -0
- package/dist/core/class/AdtLocalMacros.d.ts +4 -1
- package/dist/core/class/AdtLocalMacros.d.ts.map +1 -1
- package/dist/core/class/AdtLocalMacros.js +10 -0
- package/dist/core/class/AdtLocalTestClass.d.ts +4 -1
- package/dist/core/class/AdtLocalTestClass.d.ts.map +1 -1
- package/dist/core/class/AdtLocalTestClass.js +12 -0
- package/dist/core/class/AdtLocalTypes.d.ts +4 -1
- package/dist/core/class/AdtLocalTypes.d.ts.map +1 -1
- package/dist/core/class/AdtLocalTypes.js +10 -0
- package/dist/core/class/versions.d.ts +6 -0
- package/dist/core/class/versions.d.ts.map +1 -0
- package/dist/core/class/versions.js +40 -0
- package/dist/core/dataElement/AdtDataElement.d.ts +3 -1
- package/dist/core/dataElement/AdtDataElement.d.ts.map +1 -1
- package/dist/core/dataElement/AdtDataElement.js +7 -0
- package/dist/core/ddl/AdtDdl.d.ts +2 -0
- package/dist/core/ddl/AdtDdl.d.ts.map +1 -1
- package/dist/core/ddl/AdtDdl.js +7 -0
- package/dist/core/ddl/versions.d.ts +5 -0
- package/dist/core/ddl/versions.d.ts.map +1 -0
- package/dist/core/ddl/versions.js +41 -0
- package/dist/core/domain/AdtDomain.d.ts +3 -1
- package/dist/core/domain/AdtDomain.d.ts.map +1 -1
- package/dist/core/domain/AdtDomain.js +7 -0
- package/dist/core/enhancement/AdtEnhancement.d.ts +2 -0
- package/dist/core/enhancement/AdtEnhancement.d.ts.map +1 -1
- package/dist/core/enhancement/AdtEnhancement.js +7 -0
- package/dist/core/enhancement/versions.d.ts +5 -0
- package/dist/core/enhancement/versions.d.ts.map +1 -0
- package/dist/core/enhancement/versions.js +42 -0
- package/dist/core/featureToggle/AdtFeatureToggle.d.ts +3 -1
- package/dist/core/featureToggle/AdtFeatureToggle.d.ts.map +1 -1
- package/dist/core/featureToggle/AdtFeatureToggle.js +7 -0
- package/dist/core/functionGroup/AdtFunctionGroup.d.ts +3 -1
- package/dist/core/functionGroup/AdtFunctionGroup.d.ts.map +1 -1
- package/dist/core/functionGroup/AdtFunctionGroup.js +7 -0
- package/dist/core/functionInclude/AdtFunctionInclude.d.ts +2 -0
- package/dist/core/functionInclude/AdtFunctionInclude.d.ts.map +1 -1
- package/dist/core/functionInclude/AdtFunctionInclude.js +7 -0
- package/dist/core/functionInclude/versions.d.ts +5 -0
- package/dist/core/functionInclude/versions.d.ts.map +1 -0
- package/dist/core/functionInclude/versions.js +44 -0
- package/dist/core/functionModule/AdtFunctionModule.d.ts +2 -0
- package/dist/core/functionModule/AdtFunctionModule.d.ts.map +1 -1
- package/dist/core/functionModule/AdtFunctionModule.js +7 -0
- package/dist/core/functionModule/versions.d.ts +5 -0
- package/dist/core/functionModule/versions.d.ts.map +1 -0
- package/dist/core/functionModule/versions.js +44 -0
- package/dist/core/interface/AdtInterface.d.ts +2 -0
- package/dist/core/interface/AdtInterface.d.ts.map +1 -1
- package/dist/core/interface/AdtInterface.js +7 -0
- package/dist/core/interface/versions.d.ts +5 -0
- package/dist/core/interface/versions.d.ts.map +1 -0
- package/dist/core/interface/versions.js +41 -0
- package/dist/core/metadataExtension/AdtMetadataExtension.d.ts +2 -0
- package/dist/core/metadataExtension/AdtMetadataExtension.d.ts.map +1 -1
- package/dist/core/metadataExtension/AdtMetadataExtension.js +7 -0
- package/dist/core/metadataExtension/versions.d.ts +5 -0
- package/dist/core/metadataExtension/versions.d.ts.map +1 -0
- package/dist/core/metadataExtension/versions.js +41 -0
- package/dist/core/package/AdtPackage.d.ts +3 -1
- package/dist/core/package/AdtPackage.d.ts.map +1 -1
- package/dist/core/package/AdtPackage.js +7 -0
- package/dist/core/program/AdtProgram.d.ts +2 -0
- package/dist/core/program/AdtProgram.d.ts.map +1 -1
- package/dist/core/program/AdtProgram.js +7 -0
- package/dist/core/program/versions.d.ts +5 -0
- package/dist/core/program/versions.d.ts.map +1 -0
- package/dist/core/program/versions.js +41 -0
- package/dist/core/scalarFunction/AdtScalarFunction.d.ts +2 -0
- package/dist/core/scalarFunction/AdtScalarFunction.d.ts.map +1 -1
- package/dist/core/scalarFunction/AdtScalarFunction.js +7 -0
- package/dist/core/scalarFunction/versions.d.ts +5 -0
- package/dist/core/scalarFunction/versions.d.ts.map +1 -0
- package/dist/core/scalarFunction/versions.js +41 -0
- package/dist/core/scalarFunctionImplementation/AdtScalarFunctionImplementation.d.ts +2 -0
- package/dist/core/scalarFunctionImplementation/AdtScalarFunctionImplementation.d.ts.map +1 -1
- package/dist/core/scalarFunctionImplementation/AdtScalarFunctionImplementation.js +7 -0
- package/dist/core/scalarFunctionImplementation/versions.d.ts +5 -0
- package/dist/core/scalarFunctionImplementation/versions.d.ts.map +1 -0
- package/dist/core/scalarFunctionImplementation/versions.js +41 -0
- package/dist/core/service/AdtService.d.ts +3 -1
- package/dist/core/service/AdtService.d.ts.map +1 -1
- package/dist/core/service/AdtService.js +7 -0
- package/dist/core/serviceDefinition/AdtServiceDefinition.d.ts +2 -0
- package/dist/core/serviceDefinition/AdtServiceDefinition.d.ts.map +1 -1
- package/dist/core/serviceDefinition/AdtServiceDefinition.js +7 -0
- package/dist/core/serviceDefinition/versions.d.ts +5 -0
- package/dist/core/serviceDefinition/versions.d.ts.map +1 -0
- package/dist/core/serviceDefinition/versions.js +41 -0
- package/dist/core/shared/AdtUtils.d.ts +7 -8
- package/dist/core/shared/AdtUtils.d.ts.map +1 -1
- package/dist/core/shared/AdtUtils.js +7 -8
- package/dist/core/shared/types.d.ts +21 -2
- package/dist/core/shared/types.d.ts.map +1 -1
- package/dist/core/shared/versions.d.ts +12 -0
- package/dist/core/shared/versions.d.ts.map +1 -0
- package/dist/core/shared/versions.js +64 -0
- package/dist/core/shared/whereUsed.d.ts +20 -8
- package/dist/core/shared/whereUsed.d.ts.map +1 -1
- package/dist/core/shared/whereUsed.js +148 -59
- package/dist/core/structure/AdtStructure.d.ts +2 -0
- package/dist/core/structure/AdtStructure.d.ts.map +1 -1
- package/dist/core/structure/AdtStructure.js +7 -0
- package/dist/core/structure/versions.d.ts +5 -0
- package/dist/core/structure/versions.d.ts.map +1 -0
- package/dist/core/structure/versions.js +41 -0
- package/dist/core/table/AdtTable.d.ts +2 -0
- package/dist/core/table/AdtTable.d.ts.map +1 -1
- package/dist/core/table/AdtTable.js +7 -0
- package/dist/core/table/versions.d.ts +5 -0
- package/dist/core/table/versions.d.ts.map +1 -0
- package/dist/core/table/versions.js +39 -0
- package/dist/core/tabletype/AdtDdicTableType.d.ts +2 -0
- package/dist/core/tabletype/AdtDdicTableType.d.ts.map +1 -1
- package/dist/core/tabletype/AdtDdicTableType.js +7 -0
- package/dist/core/tabletype/versions.d.ts +5 -0
- package/dist/core/tabletype/versions.d.ts.map +1 -0
- package/dist/core/tabletype/versions.js +41 -0
- package/dist/core/transformation/AdtTransformation.d.ts +2 -0
- package/dist/core/transformation/AdtTransformation.d.ts.map +1 -1
- package/dist/core/transformation/AdtTransformation.js +7 -0
- package/dist/core/transformation/versions.d.ts +5 -0
- package/dist/core/transformation/versions.d.ts.map +1 -0
- package/dist/core/transformation/versions.js +41 -0
- package/dist/core/transport/AdtRequest.d.ts +3 -1
- package/dist/core/transport/AdtRequest.d.ts.map +1 -1
- package/dist/core/transport/AdtRequest.js +7 -0
- package/dist/core/unitTest/AdtUnitTest.d.ts +3 -1
- package/dist/core/unitTest/AdtUnitTest.d.ts.map +1 -1
- package/dist/core/unitTest/AdtUnitTest.js +7 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -185,6 +185,17 @@ for (const ref of result.references) {
|
|
|
185
185
|
console.log(`${ref.name} (${ref.type}) in ${ref.packageName}`);
|
|
186
186
|
}
|
|
187
187
|
|
|
188
|
+
// Restrict to specific object types — SAP filters server-side, so it never
|
|
189
|
+
// returns the unwanted types (e.g. hundreds of classes when you want structures).
|
|
190
|
+
// On systems without the /usageReferences/scope sub-resource (some S/4 releases
|
|
191
|
+
// 404 it) the search falls back to unscoped and the filter is applied to the
|
|
192
|
+
// parsed references client-side, so you still get the narrowed set.
|
|
193
|
+
await utils.getWhereUsedList({
|
|
194
|
+
object_name: 'ZMY_TABLE',
|
|
195
|
+
object_type: 'table',
|
|
196
|
+
enableOnlyTypes: ['TABL/DS', 'TABL/DT'] // or disableTypes: ['CLAS/OC']
|
|
197
|
+
});
|
|
198
|
+
|
|
188
199
|
// Where-used with raw XML (legacy)
|
|
189
200
|
await utils.getWhereUsed({ object_name: 'ZCL_TEST', object_type: 'class' });
|
|
190
201
|
```
|
|
@@ -76,5 +76,7 @@ export declare class AdtAccessControl implements IAdtObject<IAccessControlConfig
|
|
|
76
76
|
* Unlock access control
|
|
77
77
|
*/
|
|
78
78
|
unlock(config: Partial<IAccessControlConfig>, lockHandle: string): Promise<IAccessControlState>;
|
|
79
|
+
getVersions(config: Partial<IAccessControlConfig>): Promise<import("@mcp-abap-adt/interfaces").IObjectVersion[]>;
|
|
80
|
+
getVersionSource(contentUri: string): Promise<string>;
|
|
79
81
|
}
|
|
80
82
|
//# sourceMappingURL=AdtAccessControl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdtAccessControl.d.ts","sourceRoot":"","sources":["../../../src/core/accessControl/AdtAccessControl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAEV,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,OAAO,EACR,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAWpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"AdtAccessControl.d.ts","sourceRoot":"","sources":["../../../src/core/accessControl/AdtAccessControl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAEV,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,OAAO,EACR,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAWpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AASzE,qBAAa,gBACX,YAAW,UAAU,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;IAEhE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,SAAgB,UAAU,EAAE,MAAM,CAAmB;gBAGnD,UAAU,EAAE,eAAe,EAC3B,MAAM,CAAC,EAAE,OAAO,EAChB,aAAa,CAAC,EAAE,iBAAiB;IAOnC;;OAEG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACpC,OAAO,CAAC,mBAAmB,CAAC;IA6B/B;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,oBAAoB,EAC5B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,mBAAmB,CAAC;IAsC/B;;OAEG;IACG,IAAI,CACR,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACrC,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,EAC/B,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IA2B3C;;OAEG;IACG,YAAY,CAChB,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACrC,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,mBAAmB,CAAC;IAkC/B;;OAEG;IACG,aAAa,CACjB,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACrC,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GACtC,OAAO,CAAC,mBAAmB,CAAC;IAkC/B;;;;OAIG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACrC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,mBAAmB,CAAC;IAgN/B;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACpC,OAAO,CAAC,mBAAmB,CAAC;IAmC/B;;;OAGG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACpC,OAAO,CAAC,mBAAmB,CAAC;IAqB/B;;OAEG;IACG,KAAK,CACT,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACrC,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,mBAAmB,CAAC;IAoB/B;;OAEG;IACG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAalE;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACrC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,CAAC;IAkB/B,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC;IAIjD,gBAAgB,CAAC,UAAU,EAAE,MAAM;CAGpC"}
|
|
@@ -30,6 +30,7 @@ const read_1 = require("./read");
|
|
|
30
30
|
const unlock_1 = require("./unlock");
|
|
31
31
|
const update_1 = require("./update");
|
|
32
32
|
const validation_1 = require("./validation");
|
|
33
|
+
const versions_1 = require("./versions");
|
|
33
34
|
class AdtAccessControl {
|
|
34
35
|
connection;
|
|
35
36
|
logger;
|
|
@@ -426,5 +427,11 @@ class AdtAccessControl {
|
|
|
426
427
|
errors: [],
|
|
427
428
|
};
|
|
428
429
|
}
|
|
430
|
+
getVersions(config) {
|
|
431
|
+
return (0, versions_1.getAccessControlVersions)(this.connection, config);
|
|
432
|
+
}
|
|
433
|
+
getVersionSource(contentUri) {
|
|
434
|
+
return (0, versions_1.getAccessControlVersionSource)(this.connection, contentUri);
|
|
435
|
+
}
|
|
429
436
|
}
|
|
430
437
|
exports.AdtAccessControl = AdtAccessControl;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { IAbapConnection, IObjectVersion } from '@mcp-abap-adt/interfaces';
|
|
2
|
+
import type { IAccessControlConfig } from './types';
|
|
3
|
+
export declare function getAccessControlVersions(connection: IAbapConnection, config: Partial<IAccessControlConfig>): Promise<IObjectVersion[]>;
|
|
4
|
+
export declare function getAccessControlVersionSource(connection: IAbapConnection, contentUri: string): Promise<string>;
|
|
5
|
+
//# sourceMappingURL=versions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../../src/core/accessControl/versions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAIhF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAKpD,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,eAAe,EAC3B,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACpC,OAAO,CAAC,cAAc,EAAE,CAAC,CAkB3B;AAED,wBAAsB,6BAA6B,CACjD,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAYjB"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAccessControlVersions = getAccessControlVersions;
|
|
4
|
+
exports.getAccessControlVersionSource = getAccessControlVersionSource;
|
|
5
|
+
const internalUtils_1 = require("../../utils/internalUtils");
|
|
6
|
+
const timeouts_1 = require("../../utils/timeouts");
|
|
7
|
+
const versions_1 = require("../shared/versions");
|
|
8
|
+
const ACCEPT_VERSION_FEED = 'application/atom+xml;type=feed';
|
|
9
|
+
// candidate URI — probe-verify on trial
|
|
10
|
+
async function getAccessControlVersions(connection, config) {
|
|
11
|
+
if (!config.accessControlName)
|
|
12
|
+
throw new Error('accessControlName is required');
|
|
13
|
+
const encodedName = (0, internalUtils_1.encodeSapObjectName)(config.accessControlName.toLowerCase());
|
|
14
|
+
const url = `/sap/bc/adt/acm/dcl/sources/${encodedName}/source/main/versions`;
|
|
15
|
+
try {
|
|
16
|
+
const res = await connection.makeAdtRequest({
|
|
17
|
+
url,
|
|
18
|
+
method: 'GET',
|
|
19
|
+
timeout: (0, timeouts_1.getTimeout)('default'),
|
|
20
|
+
headers: { Accept: ACCEPT_VERSION_FEED },
|
|
21
|
+
});
|
|
22
|
+
return (0, versions_1.parseVersionsFeed)(String(res.data));
|
|
23
|
+
}
|
|
24
|
+
catch (e) {
|
|
25
|
+
(0, versions_1.throwVersionsError)(e, `access control ${config.accessControlName}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
async function getAccessControlVersionSource(connection, contentUri) {
|
|
29
|
+
try {
|
|
30
|
+
const res = await connection.makeAdtRequest({
|
|
31
|
+
url: contentUri,
|
|
32
|
+
method: 'GET',
|
|
33
|
+
timeout: (0, timeouts_1.getTimeout)('default'),
|
|
34
|
+
headers: { Accept: 'text/plain' },
|
|
35
|
+
});
|
|
36
|
+
return String(res.data);
|
|
37
|
+
}
|
|
38
|
+
catch (e) {
|
|
39
|
+
(0, versions_1.throwVersionsError)(e, 'version content');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -25,5 +25,7 @@ export declare class AdtAppendStructure implements IAdtObject<IAppendStructureCo
|
|
|
25
25
|
check(config: Partial<IAppendStructureConfig>, status?: string): Promise<IAppendStructureState>;
|
|
26
26
|
lock(config: Partial<IAppendStructureConfig>): Promise<string>;
|
|
27
27
|
unlock(config: Partial<IAppendStructureConfig>, lockHandle: string): Promise<IAppendStructureState>;
|
|
28
|
+
getVersions(config: Partial<IAppendStructureConfig>): Promise<import("@mcp-abap-adt/interfaces").IObjectVersion[]>;
|
|
29
|
+
getVersionSource(contentUri: string): Promise<string>;
|
|
28
30
|
}
|
|
29
31
|
//# sourceMappingURL=AdtAppendStructure.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdtAppendStructure.d.ts","sourceRoot":"","sources":["../../../src/core/appendStructure/AdtAppendStructure.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAEV,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,OAAO,EACR,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAWpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"AdtAppendStructure.d.ts","sourceRoot":"","sources":["../../../src/core/appendStructure/AdtAppendStructure.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAEV,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,OAAO,EACR,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAWpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAW7E,qBAAa,kBACX,YAAW,UAAU,CAAC,sBAAsB,EAAE,qBAAqB,CAAC;IAEpE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,SAAgB,UAAU,EAAE,MAAM,CAAqB;gBAGrD,UAAU,EAAE,eAAe,EAC3B,MAAM,CAAC,EAAE,OAAO,EAChB,aAAa,CAAC,EAAE,iBAAiB;IAO7B,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,GACtC,OAAO,CAAC,qBAAqB,CAAC;IA6B3B,MAAM,CACV,MAAM,EAAE,sBAAsB,EAC9B,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,OAAO,CAAC,qBAAqB,CAAC;IA0B3B,IAAI,CACR,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,EACvC,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,EAC/B,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAkBvC,YAAY,CAChB,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,EACvC,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,qBAAqB,CAAC;IAa3B,aAAa,CACjB,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,EACvC,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GACtC,OAAO,CAAC,qBAAqB,CAAC;IAa3B,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,EACvC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,qBAAqB,CAAC;IA6I3B,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,GACtC,OAAO,CAAC,qBAAqB,CAAC;IAmB3B,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,GACtC,OAAO,CAAC,qBAAqB,CAAC;IAU3B,KAAK,CACT,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,EACvC,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,qBAAqB,CAAC;IAY3B,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAO9D,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,EACvC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,qBAAqB,CAAC;IAgBjC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC;IAInD,gBAAgB,CAAC,UAAU,EAAE,MAAM;CAGpC"}
|
|
@@ -12,6 +12,7 @@ const unlock_1 = require("./unlock");
|
|
|
12
12
|
const update_1 = require("./update");
|
|
13
13
|
const validation_1 = require("./validation");
|
|
14
14
|
const VALIDATION_UNSUPPORTED_STATUSES = new Set([404, 405, 501]);
|
|
15
|
+
const versions_1 = require("./versions");
|
|
15
16
|
class AdtAppendStructure {
|
|
16
17
|
connection;
|
|
17
18
|
logger;
|
|
@@ -238,5 +239,11 @@ class AdtAppendStructure {
|
|
|
238
239
|
this.connection.setSessionType('stateless');
|
|
239
240
|
}
|
|
240
241
|
}
|
|
242
|
+
getVersions(config) {
|
|
243
|
+
return (0, versions_1.getAppendStructureVersions)(this.connection, config);
|
|
244
|
+
}
|
|
245
|
+
getVersionSource(contentUri) {
|
|
246
|
+
return (0, versions_1.getAppendStructureVersionSource)(this.connection, contentUri);
|
|
247
|
+
}
|
|
241
248
|
}
|
|
242
249
|
exports.AdtAppendStructure = AdtAppendStructure;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { IAbapConnection, IObjectVersion } from '@mcp-abap-adt/interfaces';
|
|
2
|
+
import type { IAppendStructureConfig } from './types';
|
|
3
|
+
export declare function getAppendStructureVersions(connection: IAbapConnection, config: Partial<IAppendStructureConfig>): Promise<IObjectVersion[]>;
|
|
4
|
+
export declare function getAppendStructureVersionSource(connection: IAbapConnection, contentUri: string): Promise<string>;
|
|
5
|
+
//# sourceMappingURL=versions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../../src/core/appendStructure/versions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAIhF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAKtD,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,eAAe,EAC3B,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,GACtC,OAAO,CAAC,cAAc,EAAE,CAAC,CAkB3B;AAED,wBAAsB,+BAA+B,CACnD,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAYjB"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAppendStructureVersions = getAppendStructureVersions;
|
|
4
|
+
exports.getAppendStructureVersionSource = getAppendStructureVersionSource;
|
|
5
|
+
const internalUtils_1 = require("../../utils/internalUtils");
|
|
6
|
+
const timeouts_1 = require("../../utils/timeouts");
|
|
7
|
+
const versions_1 = require("../shared/versions");
|
|
8
|
+
const ACCEPT_VERSION_FEED = 'application/atom+xml;type=feed';
|
|
9
|
+
// candidate URI — probe-verify on trial
|
|
10
|
+
async function getAppendStructureVersions(connection, config) {
|
|
11
|
+
if (!config.appendStructureName)
|
|
12
|
+
throw new Error('appendStructureName is required');
|
|
13
|
+
const encodedName = (0, internalUtils_1.encodeSapObjectName)(config.appendStructureName.toLowerCase());
|
|
14
|
+
const url = `/sap/bc/adt/ddic/structures/${encodedName}/source/main/versions`;
|
|
15
|
+
try {
|
|
16
|
+
const res = await connection.makeAdtRequest({
|
|
17
|
+
url,
|
|
18
|
+
method: 'GET',
|
|
19
|
+
timeout: (0, timeouts_1.getTimeout)('default'),
|
|
20
|
+
headers: { Accept: ACCEPT_VERSION_FEED },
|
|
21
|
+
});
|
|
22
|
+
return (0, versions_1.parseVersionsFeed)(String(res.data));
|
|
23
|
+
}
|
|
24
|
+
catch (e) {
|
|
25
|
+
(0, versions_1.throwVersionsError)(e, `append structure ${config.appendStructureName}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
async function getAppendStructureVersionSource(connection, contentUri) {
|
|
29
|
+
try {
|
|
30
|
+
const res = await connection.makeAdtRequest({
|
|
31
|
+
url: contentUri,
|
|
32
|
+
method: 'GET',
|
|
33
|
+
timeout: (0, timeouts_1.getTimeout)('default'),
|
|
34
|
+
headers: { Accept: 'text/plain' },
|
|
35
|
+
});
|
|
36
|
+
return String(res.data);
|
|
37
|
+
}
|
|
38
|
+
catch (e) {
|
|
39
|
+
(0, versions_1.throwVersionsError)(e, 'version content');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* - Update: lock → check(inactive, xmlContent?) → update → read(longPolling) → unlock → check(inactive) → optional activate + read
|
|
15
15
|
* - Delete: check(deletion) → delete
|
|
16
16
|
*/
|
|
17
|
-
import type { IAbapConnection, IAdtObject, IAdtOperationOptions, ILogger } from '@mcp-abap-adt/interfaces';
|
|
17
|
+
import type { IAbapConnection, IAdtObject, IAdtOperationOptions, ILogger, IObjectVersion } from '@mcp-abap-adt/interfaces';
|
|
18
18
|
import type { IAdtSystemContext } from '../../clients/AdtClient';
|
|
19
19
|
import { type IReadOptions } from './read';
|
|
20
20
|
import type { IAuthorizationFieldConfig, IAuthorizationFieldState } from './types';
|
|
@@ -76,5 +76,7 @@ export declare class AdtAuthorizationField implements IAdtObject<IAuthorizationF
|
|
|
76
76
|
* Unlock authorization field.
|
|
77
77
|
*/
|
|
78
78
|
unlock(config: Partial<IAuthorizationFieldConfig>, lockHandle: string): Promise<IAuthorizationFieldState>;
|
|
79
|
+
getVersions(_config: Partial<IAuthorizationFieldConfig>): Promise<IObjectVersion[]>;
|
|
80
|
+
getVersionSource(_contentUri: string): Promise<string>;
|
|
79
81
|
}
|
|
80
82
|
//# sourceMappingURL=AdtAuthorizationField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdtAuthorizationField.d.ts","sourceRoot":"","sources":["../../../src/core/authorizationField/AdtAuthorizationField.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAEV,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,OAAO,
|
|
1
|
+
{"version":3,"file":"AdtAuthorizationField.d.ts","sourceRoot":"","sources":["../../../src/core/authorizationField/AdtAuthorizationField.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAEV,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,OAAO,EACP,cAAc,EACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAYjE,OAAO,EAAE,KAAK,YAAY,EAA0B,MAAM,QAAQ,CAAC;AACnE,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EAEzB,MAAM,SAAS,CAAC;AAIjB,qBAAa,qBACX,YAAW,UAAU,CAAC,yBAAyB,EAAE,wBAAwB,CAAC;IAE1E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,SAAgB,UAAU,EAAE,MAAM,CAAwB;gBAGxD,UAAU,EAAE,eAAe,EAC3B,MAAM,CAAC,EAAE,OAAO,EAChB,aAAa,CAAC,EAAE,iBAAiB;IAOnC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA2BzB,OAAO,CAAC,iBAAiB;IASzB;;OAEG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GACzC,OAAO,CAAC,wBAAwB,CAAC;IAkBpC;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,yBAAyB,EACjC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,wBAAwB,CAAC;IAgDpC;;OAEG;IACG,IAAI,CACR,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,EAC/B,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC;IA0BhD;;OAEG;IACG,YAAY,CAChB,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,OAAO,CAAC,EAAE,YAAY,GAAG;QAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAA;KAAE,GAC3D,OAAO,CAAC,wBAAwB,CAAC;IA6CpC;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,wBAAwB,CAAC;IAgMpC;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GACzC,OAAO,CAAC,wBAAwB,CAAC;IA+BpC;;OAEG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GACzC,OAAO,CAAC,wBAAwB,CAAC;IAoBpC;;OAEG;IACG,KAAK,CACT,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,wBAAwB,CAAC;IAmBpC;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,wBAAwB,CAAC;IASxD;;OAEG;IACG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAcvE;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,wBAAwB,CAAC;IAe9B,WAAW,CACf,OAAO,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAC1C,OAAO,CAAC,cAAc,EAAE,CAAC;IAItB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAG7D"}
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
19
|
exports.AdtAuthorizationField = void 0;
|
|
20
20
|
const internalUtils_1 = require("../../utils/internalUtils");
|
|
21
|
+
const versions_1 = require("../shared/versions");
|
|
21
22
|
const activation_1 = require("./activation");
|
|
22
23
|
const check_1 = require("./check");
|
|
23
24
|
const create_1 = require("./create");
|
|
@@ -393,5 +394,11 @@ class AdtAuthorizationField {
|
|
|
393
394
|
this.connection.setSessionType('stateless');
|
|
394
395
|
return { errors: [] };
|
|
395
396
|
}
|
|
397
|
+
async getVersions(_config) {
|
|
398
|
+
(0, versions_1.throwUnsupportedVersions)('authorization field');
|
|
399
|
+
}
|
|
400
|
+
async getVersionSource(_contentUri) {
|
|
401
|
+
(0, versions_1.throwUnsupportedVersions)('authorization field');
|
|
402
|
+
}
|
|
396
403
|
}
|
|
397
404
|
exports.AdtAuthorizationField = AdtAuthorizationField;
|
|
@@ -76,5 +76,7 @@ export declare class AdtBehaviorDefinition implements IAdtObject<IBehaviorDefini
|
|
|
76
76
|
* Unlock behavior definition
|
|
77
77
|
*/
|
|
78
78
|
unlock(config: Partial<IBehaviorDefinitionConfig>, lockHandle: string): Promise<IBehaviorDefinitionState>;
|
|
79
|
+
getVersions(config: Partial<IBehaviorDefinitionConfig>): Promise<import("@mcp-abap-adt/interfaces").IObjectVersion[]>;
|
|
80
|
+
getVersionSource(contentUri: string): Promise<string>;
|
|
79
81
|
}
|
|
80
82
|
//# sourceMappingURL=AdtBehaviorDefinition.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdtBehaviorDefinition.d.ts","sourceRoot":"","sources":["../../../src/core/behaviorDefinition/AdtBehaviorDefinition.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAEV,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,OAAO,EACR,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAWpD,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"AdtBehaviorDefinition.d.ts","sourceRoot":"","sources":["../../../src/core/behaviorDefinition/AdtBehaviorDefinition.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAEV,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,OAAO,EACR,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAWpD,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,SAAS,CAAC;AASjB,qBAAa,qBACX,YAAW,UAAU,CAAC,yBAAyB,EAAE,wBAAwB,CAAC;IAE1E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,SAAgB,UAAU,EAAE,MAAM,CAAwB;gBAGxD,UAAU,EAAE,eAAe,EAC3B,MAAM,CAAC,EAAE,OAAO,EAChB,aAAa,CAAC,EAAE,iBAAiB;IAOnC;;OAEG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GACzC,OAAO,CAAC,wBAAwB,CAAC;IA+CpC;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,yBAAyB,EACjC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,wBAAwB,CAAC;IAuEpC;;OAEG;IACG,IAAI,CACR,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,EAC/B,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC;IA8BhD;;OAEG;IACG,YAAY,CAChB,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,wBAAwB,CAAC;IAoCpC;;OAEG;IACG,aAAa,CACjB,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GACtC,OAAO,CAAC,wBAAwB,CAAC;IAoCpC;;;;OAIG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,wBAAwB,CAAC;IAoMpC;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GACzC,OAAO,CAAC,wBAAwB,CAAC;IAqCpC;;;OAGG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GACzC,OAAO,CAAC,wBAAwB,CAAC;IAwBpC;;OAEG;IACG,KAAK,CACT,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,wBAAwB,CAAC;IA4BpC;;OAEG;IACG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAUvE;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC1C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,wBAAwB,CAAC;IAcpC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC;IAItD,gBAAgB,CAAC,UAAU,EAAE,MAAM;CAGpC"}
|
|
@@ -30,6 +30,7 @@ const read_1 = require("./read");
|
|
|
30
30
|
const unlock_1 = require("./unlock");
|
|
31
31
|
const update_1 = require("./update");
|
|
32
32
|
const validation_1 = require("./validation");
|
|
33
|
+
const versions_1 = require("./versions");
|
|
33
34
|
class AdtBehaviorDefinition {
|
|
34
35
|
connection;
|
|
35
36
|
logger;
|
|
@@ -492,5 +493,11 @@ class AdtBehaviorDefinition {
|
|
|
492
493
|
errors: [],
|
|
493
494
|
};
|
|
494
495
|
}
|
|
496
|
+
getVersions(config) {
|
|
497
|
+
return (0, versions_1.getBehaviorDefinitionVersions)(this.connection, config);
|
|
498
|
+
}
|
|
499
|
+
getVersionSource(contentUri) {
|
|
500
|
+
return (0, versions_1.getBehaviorDefinitionVersionSource)(this.connection, contentUri);
|
|
501
|
+
}
|
|
495
502
|
}
|
|
496
503
|
exports.AdtBehaviorDefinition = AdtBehaviorDefinition;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { IAbapConnection, IObjectVersion } from '@mcp-abap-adt/interfaces';
|
|
2
|
+
import type { IBehaviorDefinitionConfig } from './types';
|
|
3
|
+
export declare function getBehaviorDefinitionVersions(connection: IAbapConnection, config: Partial<IBehaviorDefinitionConfig>): Promise<IObjectVersion[]>;
|
|
4
|
+
export declare function getBehaviorDefinitionVersionSource(connection: IAbapConnection, contentUri: string): Promise<string>;
|
|
5
|
+
//# sourceMappingURL=versions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../../src/core/behaviorDefinition/versions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAIhF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAKzD,wBAAsB,6BAA6B,CACjD,UAAU,EAAE,eAAe,EAC3B,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GACzC,OAAO,CAAC,cAAc,EAAE,CAAC,CAe3B;AAED,wBAAsB,kCAAkC,CACtD,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAYjB"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getBehaviorDefinitionVersions = getBehaviorDefinitionVersions;
|
|
4
|
+
exports.getBehaviorDefinitionVersionSource = getBehaviorDefinitionVersionSource;
|
|
5
|
+
const internalUtils_1 = require("../../utils/internalUtils");
|
|
6
|
+
const timeouts_1 = require("../../utils/timeouts");
|
|
7
|
+
const versions_1 = require("../shared/versions");
|
|
8
|
+
const ACCEPT_VERSION_FEED = 'application/atom+xml;type=feed';
|
|
9
|
+
// candidate URI — probe-verify on trial
|
|
10
|
+
async function getBehaviorDefinitionVersions(connection, config) {
|
|
11
|
+
if (!config.name)
|
|
12
|
+
throw new Error('name is required');
|
|
13
|
+
const encodedName = (0, internalUtils_1.encodeSapObjectName)(config.name).toLowerCase();
|
|
14
|
+
const url = `/sap/bc/adt/bo/behaviordefinitions/${encodedName}/source/main/versions`;
|
|
15
|
+
try {
|
|
16
|
+
const res = await connection.makeAdtRequest({
|
|
17
|
+
url,
|
|
18
|
+
method: 'GET',
|
|
19
|
+
timeout: (0, timeouts_1.getTimeout)('default'),
|
|
20
|
+
headers: { Accept: ACCEPT_VERSION_FEED },
|
|
21
|
+
});
|
|
22
|
+
return (0, versions_1.parseVersionsFeed)(String(res.data));
|
|
23
|
+
}
|
|
24
|
+
catch (e) {
|
|
25
|
+
(0, versions_1.throwVersionsError)(e, `behavior definition ${config.name}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
async function getBehaviorDefinitionVersionSource(connection, contentUri) {
|
|
29
|
+
try {
|
|
30
|
+
const res = await connection.makeAdtRequest({
|
|
31
|
+
url: contentUri,
|
|
32
|
+
method: 'GET',
|
|
33
|
+
timeout: (0, timeouts_1.getTimeout)('default'),
|
|
34
|
+
headers: { Accept: 'text/plain' },
|
|
35
|
+
});
|
|
36
|
+
return String(res.data);
|
|
37
|
+
}
|
|
38
|
+
catch (e) {
|
|
39
|
+
(0, versions_1.throwVersionsError)(e, 'version content');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -82,5 +82,7 @@ export declare class AdtBehaviorImplementation implements IAdtObject<IBehaviorIm
|
|
|
82
82
|
* Delegates to AdtClass since behavior implementation is a class
|
|
83
83
|
*/
|
|
84
84
|
unlock(config: Partial<IBehaviorImplementationConfig>, lockHandle: string): Promise<IBehaviorImplementationState>;
|
|
85
|
+
getVersions(config: Partial<IBehaviorImplementationConfig>): Promise<import("@mcp-abap-adt/interfaces").IObjectVersion[]>;
|
|
86
|
+
getVersionSource(contentUri: string): Promise<string>;
|
|
85
87
|
}
|
|
86
88
|
//# sourceMappingURL=AdtBehaviorImplementation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdtBehaviorImplementation.d.ts","sourceRoot":"","sources":["../../../src/core/behaviorImplementation/AdtBehaviorImplementation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAEV,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,OAAO,EACR,MAAM,0BAA0B,CAAC;AAKlC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAMpD,OAAO,KAAK,EACV,6BAA6B,EAC7B,4BAA4B,EAC7B,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"AdtBehaviorImplementation.d.ts","sourceRoot":"","sources":["../../../src/core/behaviorImplementation/AdtBehaviorImplementation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAEV,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,OAAO,EACR,MAAM,0BAA0B,CAAC;AAKlC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAMpD,OAAO,KAAK,EACV,6BAA6B,EAC7B,4BAA4B,EAC7B,MAAM,SAAS,CAAC;AAQjB,qBAAa,yBACX,YACE,UAAU,CAAC,6BAA6B,EAAE,4BAA4B,CAAC;IAEzE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,SAAgB,UAAU,EAAE,MAAM,CAA4B;gBAElD,UAAU,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,OAAO;IAMzD;;OAEG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,GAC7C,OAAO,CAAC,4BAA4B,CAAC;IAmCxC;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,6BAA6B,EACrC,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,OAAO,CAAC,4BAA4B,CAAC;IA4CxC;;OAEG;IACG,IAAI,CACR,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,EAC9C,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,EAC/B,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,4BAA4B,GAAG,SAAS,CAAC;IA8BpD;;OAEG;IACG,YAAY,CAChB,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,EAC9C,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,4BAA4B,CAAC;IAiCxC;;OAEG;IACG,aAAa,CACjB,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,EAC9C,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GACtC,OAAO,CAAC,4BAA4B,CAAC;IAoCxC;;;;OAIG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,EAC9C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,4BAA4B,CAAC;IAiPxC;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,GAC7C,OAAO,CAAC,4BAA4B,CAAC;IA+BxC;;;OAGG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,GAC7C,OAAO,CAAC,4BAA4B,CAAC;IA0BxC;;OAEG;IACG,KAAK,CACT,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,EAC9C,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,4BAA4B,CAAC;IAuBxC;;;OAGG;IACG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ3E;;;OAGG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,EAC9C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,4BAA4B,CAAC;IAexC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC;IAI1D,gBAAgB,CAAC,UAAU,EAAE,MAAM;CAGpC"}
|
|
@@ -32,6 +32,7 @@ const update_1 = require("../class/update");
|
|
|
32
32
|
const read_1 = require("./read");
|
|
33
33
|
const update_2 = require("./update");
|
|
34
34
|
const validation_1 = require("./validation");
|
|
35
|
+
const versions_1 = require("./versions");
|
|
35
36
|
class AdtBehaviorImplementation {
|
|
36
37
|
connection;
|
|
37
38
|
logger;
|
|
@@ -475,5 +476,11 @@ ENDCLASS.`;
|
|
|
475
476
|
errors: [],
|
|
476
477
|
};
|
|
477
478
|
}
|
|
479
|
+
getVersions(config) {
|
|
480
|
+
return (0, versions_1.getBehaviorImplementationVersions)(this.connection, config);
|
|
481
|
+
}
|
|
482
|
+
getVersionSource(contentUri) {
|
|
483
|
+
return (0, versions_1.getBehaviorImplementationVersionSource)(this.connection, contentUri);
|
|
484
|
+
}
|
|
478
485
|
}
|
|
479
486
|
exports.AdtBehaviorImplementation = AdtBehaviorImplementation;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { IAbapConnection, IObjectVersion } from '@mcp-abap-adt/interfaces';
|
|
2
|
+
import type { IBehaviorImplementationConfig } from './types';
|
|
3
|
+
export declare function getBehaviorImplementationVersions(connection: IAbapConnection, config: Partial<IBehaviorImplementationConfig>): Promise<IObjectVersion[]>;
|
|
4
|
+
export declare function getBehaviorImplementationVersionSource(connection: IAbapConnection, contentUri: string): Promise<string>;
|
|
5
|
+
//# sourceMappingURL=versions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../../src/core/behaviorImplementation/versions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAIhF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAC;AAK7D,wBAAsB,iCAAiC,CACrD,UAAU,EAAE,eAAe,EAC3B,MAAM,EAAE,OAAO,CAAC,6BAA6B,CAAC,GAC7C,OAAO,CAAC,cAAc,EAAE,CAAC,CAe3B;AAED,wBAAsB,sCAAsC,CAC1D,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAYjB"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getBehaviorImplementationVersions = getBehaviorImplementationVersions;
|
|
4
|
+
exports.getBehaviorImplementationVersionSource = getBehaviorImplementationVersionSource;
|
|
5
|
+
const internalUtils_1 = require("../../utils/internalUtils");
|
|
6
|
+
const timeouts_1 = require("../../utils/timeouts");
|
|
7
|
+
const versions_1 = require("../shared/versions");
|
|
8
|
+
const ACCEPT_VERSION_FEED = 'application/atom+xml;type=feed';
|
|
9
|
+
// candidate URI — probe-verify on trial
|
|
10
|
+
async function getBehaviorImplementationVersions(connection, config) {
|
|
11
|
+
if (!config.className)
|
|
12
|
+
throw new Error('className is required');
|
|
13
|
+
const encodedName = (0, internalUtils_1.encodeSapObjectName)(config.className);
|
|
14
|
+
const url = `/sap/bc/adt/oo/classes/${encodedName}/includes/implementations/versions`;
|
|
15
|
+
try {
|
|
16
|
+
const res = await connection.makeAdtRequest({
|
|
17
|
+
url,
|
|
18
|
+
method: 'GET',
|
|
19
|
+
timeout: (0, timeouts_1.getTimeout)('default'),
|
|
20
|
+
headers: { Accept: ACCEPT_VERSION_FEED },
|
|
21
|
+
});
|
|
22
|
+
return (0, versions_1.parseVersionsFeed)(String(res.data));
|
|
23
|
+
}
|
|
24
|
+
catch (e) {
|
|
25
|
+
(0, versions_1.throwVersionsError)(e, `behavior implementation ${config.className}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
async function getBehaviorImplementationVersionSource(connection, contentUri) {
|
|
29
|
+
try {
|
|
30
|
+
const res = await connection.makeAdtRequest({
|
|
31
|
+
url: contentUri,
|
|
32
|
+
method: 'GET',
|
|
33
|
+
timeout: (0, timeouts_1.getTimeout)('default'),
|
|
34
|
+
headers: { Accept: 'text/plain' },
|
|
35
|
+
});
|
|
36
|
+
return String(res.data);
|
|
37
|
+
}
|
|
38
|
+
catch (e) {
|
|
39
|
+
(0, versions_1.throwVersionsError)(e, 'version content');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -16,11 +16,12 @@
|
|
|
16
16
|
* - Update: lock → check(inactive) → update → unlock → check → activate
|
|
17
17
|
* - Delete: check(deletion) → delete
|
|
18
18
|
*/
|
|
19
|
-
import { type IAdtResponse as AxiosResponse, type IAbapConnection, type IAdtObject, type IAdtOperationOptions, type ILogger } from '@mcp-abap-adt/interfaces';
|
|
19
|
+
import { type IAdtResponse as AxiosResponse, type IAbapConnection, type IAdtObject, type IAdtOperationOptions, type ILogger, type IObjectVersion } from '@mcp-abap-adt/interfaces';
|
|
20
20
|
import type { IAdtSystemContext } from '../../clients/AdtClient';
|
|
21
21
|
import type { IAdtContentTypes } from '../shared/contentTypes';
|
|
22
22
|
import type { IReadOptions } from '../shared/types';
|
|
23
23
|
import type { IClassConfig, IClassState } from './types';
|
|
24
|
+
import { type ClassIncludeType } from './versions';
|
|
24
25
|
export declare class AdtClass implements IAdtObject<IClassConfig, IClassState> {
|
|
25
26
|
protected readonly connection: IAbapConnection;
|
|
26
27
|
protected readonly logger?: ILogger;
|
|
@@ -106,5 +107,9 @@ export declare class AdtClass implements IAdtObject<IClassConfig, IClassState> {
|
|
|
106
107
|
readTransport(config: Partial<IClassConfig>, options?: {
|
|
107
108
|
withLongPolling?: boolean;
|
|
108
109
|
}): Promise<IClassState>;
|
|
110
|
+
getVersions(config: Partial<IClassConfig>): Promise<IObjectVersion[]>;
|
|
111
|
+
getVersionSource(contentUri: string): Promise<string>;
|
|
112
|
+
/** Shared by local-include subclasses to target their own include. */
|
|
113
|
+
protected getIncludeVersions(className: string, includeType: ClassIncludeType): Promise<IObjectVersion[]>;
|
|
109
114
|
}
|
|
110
115
|
//# sourceMappingURL=AdtClass.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdtClass.d.ts","sourceRoot":"","sources":["../../../src/core/class/AdtClass.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAGL,KAAK,YAAY,IAAI,aAAa,EAElC,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,OAAO,
|
|
1
|
+
{"version":3,"file":"AdtClass.d.ts","sourceRoot":"","sources":["../../../src/core/class/AdtClass.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,6 +64,7 @@ const testclasses_1 = require("./testclasses");
|
|
|
64
64
|
const unlock_1 = require("./unlock");
|
|
65
65
|
const update_1 = require("./update");
|
|
66
66
|
const validation_1 = require("./validation");
|
|
67
|
+
const versions_1 = require("./versions");
|
|
67
68
|
class AdtClass {
|
|
68
69
|
connection;
|
|
69
70
|
logger;
|
|
@@ -683,5 +684,17 @@ class AdtClass {
|
|
|
683
684
|
throw err;
|
|
684
685
|
}
|
|
685
686
|
}
|
|
687
|
+
getVersions(config) {
|
|
688
|
+
if (!config.className)
|
|
689
|
+
throw new Error('className is required');
|
|
690
|
+
return (0, versions_1.getClassIncludeVersions)(this.connection, config.className, 'main');
|
|
691
|
+
}
|
|
692
|
+
getVersionSource(contentUri) {
|
|
693
|
+
return (0, versions_1.getClassVersionSource)(this.connection, contentUri);
|
|
694
|
+
}
|
|
695
|
+
/** Shared by local-include subclasses to target their own include. */
|
|
696
|
+
getIncludeVersions(className, includeType) {
|
|
697
|
+
return (0, versions_1.getClassIncludeVersions)(this.connection, className, includeType);
|
|
698
|
+
}
|
|
686
699
|
}
|
|
687
700
|
exports.AdtClass = AdtClass;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Local definitions are type declarations needed for components in the private section.
|
|
5
5
|
* All operations require the parent class to be locked.
|
|
6
6
|
*/
|
|
7
|
-
import type { IAdtOperationOptions } from '@mcp-abap-adt/interfaces';
|
|
7
|
+
import type { IAdtOperationOptions, IObjectVersion } from '@mcp-abap-adt/interfaces';
|
|
8
8
|
import type { IReadOptions } from '../shared/types';
|
|
9
9
|
import { AdtClass } from './AdtClass';
|
|
10
10
|
import type { IClassState } from './types';
|
|
@@ -47,5 +47,8 @@ export declare class AdtLocalDefinitions extends AdtClass {
|
|
|
47
47
|
* Check local definitions code
|
|
48
48
|
*/
|
|
49
49
|
check(config: Partial<ILocalDefinitionsConfig>, version?: 'active' | 'inactive'): Promise<IClassState>;
|
|
50
|
+
getVersions(config: Partial<{
|
|
51
|
+
className: string;
|
|
52
|
+
}>): Promise<IObjectVersion[]>;
|
|
50
53
|
}
|
|
51
54
|
//# sourceMappingURL=AdtLocalDefinitions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdtLocalDefinitions.d.ts","sourceRoot":"","sources":["../../../src/core/class/AdtLocalDefinitions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"AdtLocalDefinitions.d.ts","sourceRoot":"","sources":["../../../src/core/class/AdtLocalDefinitions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAEV,oBAAoB,EACpB,cAAc,EACf,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,mBAAoB,SAAQ,QAAQ;IAC/C,SAAgB,UAAU,EAAE,MAAM,CAAsB;IAExD;;OAEG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,GACvC,OAAO,CAAC,WAAW,CAAC;IAsBvB;;;OAGG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,EACxC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,WAAW,CAAC;IAgFvB;;OAEG;IACG,IAAI,CACR,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,EACxC,OAAO,GAAE,QAAQ,GAAG,UAAqB,EACzC,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IA+BnC;;;;OAIG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,EACxC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,WAAW,CAAC;IAyGvB;;;OAGG;IACG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAY5E;;OAEG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,GACvC,OAAO,CAAC,WAAW,CAAC;IAQvB;;OAEG;IACG,KAAK,CACT,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,EACxC,OAAO,GAAE,QAAQ,GAAG,UAAuB,GAC1C,OAAO,CAAC,WAAW,CAAC;IA4BvB,WAAW,CACT,MAAM,EAAE,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,GACrC,OAAO,CAAC,cAAc,EAAE,CAAC;CAI7B"}
|
|
@@ -252,5 +252,15 @@ class AdtLocalDefinitions extends AdtClass_1.AdtClass {
|
|
|
252
252
|
errors: [],
|
|
253
253
|
};
|
|
254
254
|
}
|
|
255
|
+
// TODO: Investigate lock/unlock/delete operations for local definitions
|
|
256
|
+
// - Currently uses parent class lock (lockClass) for all operations
|
|
257
|
+
// - Eclipse ADT logs show parent class lock is used before updating local includes
|
|
258
|
+
// - Delete operation currently uses update() with empty code, but validation prevents empty strings
|
|
259
|
+
// - Consider: Should delete() bypass validation or use a different approach?
|
|
260
|
+
getVersions(config) {
|
|
261
|
+
if (!config.className)
|
|
262
|
+
throw new Error('className is required');
|
|
263
|
+
return this.getIncludeVersions(config.className, 'definitions');
|
|
264
|
+
}
|
|
255
265
|
}
|
|
256
266
|
exports.AdtLocalDefinitions = AdtLocalDefinitions;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Note: Macros are supported in older ABAP versions but not in newer ones.
|
|
6
6
|
* All operations require the parent class to be locked.
|
|
7
7
|
*/
|
|
8
|
-
import type { IAdtOperationOptions } from '@mcp-abap-adt/interfaces';
|
|
8
|
+
import type { IAdtOperationOptions, IObjectVersion } from '@mcp-abap-adt/interfaces';
|
|
9
9
|
import type { IReadOptions } from '../shared/types';
|
|
10
10
|
import { AdtClass } from './AdtClass';
|
|
11
11
|
import type { IClassState } from './types';
|
|
@@ -48,5 +48,8 @@ export declare class AdtLocalMacros extends AdtClass {
|
|
|
48
48
|
* Check local macros code
|
|
49
49
|
*/
|
|
50
50
|
check(config: Partial<ILocalMacrosConfig>, version?: 'active' | 'inactive'): Promise<IClassState>;
|
|
51
|
+
getVersions(config: Partial<{
|
|
52
|
+
className: string;
|
|
53
|
+
}>): Promise<IObjectVersion[]>;
|
|
51
54
|
}
|
|
52
55
|
//# sourceMappingURL=AdtLocalMacros.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdtLocalMacros.d.ts","sourceRoot":"","sources":["../../../src/core/class/AdtLocalMacros.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"AdtLocalMacros.d.ts","sourceRoot":"","sources":["../../../src/core/class/AdtLocalMacros.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAEV,oBAAoB,EACpB,cAAc,EACf,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,SAAgB,UAAU,EAAE,MAAM,CAAiB;IAEnD;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAsBzE;;;OAGG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACnC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,WAAW,CAAC;IA6EvB;;OAEG;IACG,IAAI,CACR,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACnC,OAAO,GAAE,QAAQ,GAAG,UAAqB,EACzC,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IA2BnC;;;;OAIG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACnC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,WAAW,CAAC;IAsGvB;;;OAGG;IACG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAYvE;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAQzE;;OAEG;IACG,KAAK,CACT,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACnC,OAAO,GAAE,QAAQ,GAAG,UAAuB,GAC1C,OAAO,CAAC,WAAW,CAAC;IA4BvB,WAAW,CACT,MAAM,EAAE,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,GACrC,OAAO,CAAC,cAAc,EAAE,CAAC;CAI7B"}
|
|
@@ -253,5 +253,15 @@ class AdtLocalMacros extends AdtClass_1.AdtClass {
|
|
|
253
253
|
errors: [],
|
|
254
254
|
};
|
|
255
255
|
}
|
|
256
|
+
// TODO: Investigate lock/unlock/delete operations for local macros
|
|
257
|
+
// - Currently uses parent class lock (lockClass) for all operations
|
|
258
|
+
// - Eclipse ADT logs show parent class lock is used before updating local includes
|
|
259
|
+
// - Delete operation currently uses update() with empty code, but validation prevents empty strings
|
|
260
|
+
// - Consider: Should delete() bypass validation or use a different approach?
|
|
261
|
+
getVersions(config) {
|
|
262
|
+
if (!config.className)
|
|
263
|
+
throw new Error('className is required');
|
|
264
|
+
return this.getIncludeVersions(config.className, 'macros');
|
|
265
|
+
}
|
|
256
266
|
}
|
|
257
267
|
exports.AdtLocalMacros = AdtLocalMacros;
|