@sap-ux/axios-extension 1.15.1 → 1.16.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.
@@ -4,7 +4,7 @@ import { Ui5AbapRepositoryService } from './ui5-abap-repository-service';
4
4
  import { AppIndexService } from './app-index-service';
5
5
  import { ODataVersion } from '../base/odata-service';
6
6
  import { LayeredRepositoryService } from './lrep-service';
7
- import type { AtoSettings, BusinessObject } from './types';
7
+ import type { AbapCDSView, AtoSettings, BusinessObject } from './types';
8
8
  import { AdtService } from './adt-catalog/services';
9
9
  import { UiServiceGenerator } from './adt-catalog/generators/ui-service-generator';
10
10
  /**
@@ -98,12 +98,12 @@ export declare class AbapServiceProvider extends ServiceProvider {
98
98
  */
99
99
  getAdtService<T extends AdtService>(adtServiceSubclass: typeof AdtService): Promise<T | null>;
100
100
  /**
101
- * Create a UI Service generator for the given business object.
101
+ * Create a UI Service generator for the given referenced object.
102
102
  *
103
- * @param bo - business object
103
+ * @param referencedObject - referenced object (business object or abap cds view)
104
104
  * @returns a UI Service generator
105
105
  */
106
- getUiServiceGenerator(bo: BusinessObject): Promise<UiServiceGenerator>;
106
+ getUiServiceGenerator(referencedObject: BusinessObject | AbapCDSView): Promise<UiServiceGenerator>;
107
107
  /**
108
108
  * Get the service URL from the generator config.
109
109
  *
@@ -195,19 +195,19 @@ class AbapServiceProvider extends service_provider_1.ServiceProvider {
195
195
  return this.services[subclassName];
196
196
  }
197
197
  /**
198
- * Create a UI Service generator for the given business object.
198
+ * Create a UI Service generator for the given referenced object.
199
199
  *
200
- * @param bo - business object
200
+ * @param referencedObject - referenced object (business object or abap cds view)
201
201
  * @returns a UI Service generator
202
202
  */
203
- async getUiServiceGenerator(bo) {
203
+ async getUiServiceGenerator(referencedObject) {
204
204
  const generatorService = await this.getAdtService(services_1.GeneratorService);
205
205
  if (!generatorService) {
206
- throw new Error('Generators are not support on this system');
206
+ throw new Error('Generators are not supported on this system');
207
207
  }
208
- const config = await generatorService.getUIServiceGeneratorConfig(bo.name);
208
+ const config = await generatorService.getUIServiceGeneratorConfig(referencedObject.uri);
209
209
  const gen = this.createService(this.getServiceUrlFromConfig(config), ui_service_generator_1.UiServiceGenerator);
210
- gen.configure(config, bo);
210
+ gen.configure(config, referencedObject);
211
211
  return gen;
212
212
  }
213
213
  /**
@@ -1,18 +1,18 @@
1
1
  import type { GeneratorEntry } from './types';
2
- import type { BusinessObject, ValidationResponse } from '../../types';
2
+ import type { AbapCDSView, BusinessObject, ValidationResponse } from '../../types';
3
3
  import { AdtService } from '../services';
4
4
  /**
5
5
  *
6
6
  */
7
7
  export declare class UiServiceGenerator extends AdtService {
8
- protected bo: BusinessObject;
8
+ protected referencedObject: BusinessObject | AbapCDSView;
9
9
  /**
10
10
  * Configure the UI service generator.
11
11
  *
12
12
  * @param _config - The generator configuration.
13
- * @param bo - The business object.
13
+ * @param referencedObject - The referenced object (business object or abap cds view).
14
14
  */
15
- configure(_config: GeneratorEntry, bo: BusinessObject): void;
15
+ configure(_config: GeneratorEntry, referencedObject: BusinessObject | AbapCDSView): void;
16
16
  /**
17
17
  * Get the schema of the service binding.
18
18
  *
@@ -6,15 +6,15 @@ const services_1 = require("../services");
6
6
  *
7
7
  */
8
8
  class UiServiceGenerator extends services_1.AdtService {
9
- bo;
9
+ referencedObject;
10
10
  /**
11
11
  * Configure the UI service generator.
12
12
  *
13
13
  * @param _config - The generator configuration.
14
- * @param bo - The business object.
14
+ * @param referencedObject - The referenced object (business object or abap cds view).
15
15
  */
16
- configure(_config, bo) {
17
- this.bo = bo;
16
+ configure(_config, referencedObject) {
17
+ this.referencedObject = referencedObject;
18
18
  }
19
19
  /**
20
20
  * Get the schema of the service binding.
@@ -27,7 +27,7 @@ class UiServiceGenerator extends services_1.AdtService {
27
27
  Accept: 'application/vnd.sap.adt.repository.generator.schema.v1+json'
28
28
  },
29
29
  params: {
30
- referencedObject: this.bo.uri
30
+ referencedObject: this.referencedObject.uri
31
31
  }
32
32
  });
33
33
  return JSON.parse(response.data);
@@ -44,7 +44,7 @@ class UiServiceGenerator extends services_1.AdtService {
44
44
  Accept: 'application/vnd.sap.adt.repository.generator.content.v1+json'
45
45
  },
46
46
  params: {
47
- referencedObject: this.bo.uri,
47
+ referencedObject: this.referencedObject.uri,
48
48
  package: pckg
49
49
  }
50
50
  });
@@ -69,7 +69,7 @@ class UiServiceGenerator extends services_1.AdtService {
69
69
  Accept: 'application/vnd.sap.adt.validationMessages.v1+xml'
70
70
  },
71
71
  params: {
72
- referencedObject: this.bo.uri,
72
+ referencedObject: this.referencedObject.uri,
73
73
  package: pckg,
74
74
  checks: 'package'
75
75
  }
@@ -89,7 +89,7 @@ class UiServiceGenerator extends services_1.AdtService {
89
89
  Accept: 'application/vnd.sap.adt.validationMessages.v1+xml'
90
90
  },
91
91
  params: {
92
- referencedObject: this.bo.uri,
92
+ referencedObject: this.referencedObject.uri,
93
93
  checks: 'package,referencedobject,authorization'
94
94
  }
95
95
  });
@@ -110,7 +110,7 @@ class UiServiceGenerator extends services_1.AdtService {
110
110
  Accept: 'application/vnd.sap.adt.repository.generator.v1+json, application/vnd.sap.as+xml;charset=UTF-8;dataname=com.sap.adt.StatusMessage'
111
111
  },
112
112
  params: {
113
- referencedObject: this.bo.uri,
113
+ referencedObject: this.referencedObject.uri,
114
114
  corrNr: transport
115
115
  }
116
116
  });
@@ -0,0 +1,32 @@
1
+ import { AdtService } from './adt-service';
2
+ import type { AbapCDSView, AdtCategory } from '../../types';
3
+ /**
4
+ * AbapCDSViewService implements ADT requests to obtain the list of abap cds views.
5
+ */
6
+ export declare class AbapCDSViewService extends AdtService {
7
+ /**
8
+ * @see AdtService.getAdtCatagory()
9
+ */
10
+ private static adtCategory;
11
+ /**
12
+ * Get ADT scheme ID.
13
+ *
14
+ * @returns AdtCategory
15
+ */
16
+ static getAdtCatagory(): AdtCategory;
17
+ /**
18
+ * Get all abap cds views from ADT service.
19
+ *
20
+ * @param maxResults - The maximum number of abap cds views to be returned.
21
+ * @returns A list of abap cds views.
22
+ */
23
+ getAbapCDSViews(maxResults?: number): Promise<AbapCDSView[]>;
24
+ /**
25
+ * Parse the XML document of abap cds view entries from ADT service.
26
+ *
27
+ * @param xml xml document containing abap cds view entries.
28
+ * @returns A list of abap cds view names.
29
+ */
30
+ private parseAbapCDSViewResponse;
31
+ }
32
+ //# sourceMappingURL=abapcdsview-service.d.ts.map
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AbapCDSViewService = void 0;
4
+ const adt_service_1 = require("./adt-service");
5
+ /**
6
+ * AbapCDSViewService implements ADT requests to obtain the list of abap cds views.
7
+ */
8
+ class AbapCDSViewService extends adt_service_1.AdtService {
9
+ /**
10
+ * @see AdtService.getAdtCatagory()
11
+ */
12
+ static adtCategory = {
13
+ scheme: 'http://www.sap.com/adt/categories/respository',
14
+ term: 'search'
15
+ };
16
+ /**
17
+ * Get ADT scheme ID.
18
+ *
19
+ * @returns AdtCategory
20
+ */
21
+ static getAdtCatagory() {
22
+ return AbapCDSViewService.adtCategory;
23
+ }
24
+ /**
25
+ * Get all abap cds views from ADT service.
26
+ *
27
+ * @param maxResults - The maximum number of abap cds views to be returned.
28
+ * @returns A list of abap cds views.
29
+ */
30
+ async getAbapCDSViews(maxResults = 10000) {
31
+ const config = {
32
+ headers: {
33
+ Accept: 'application/xml'
34
+ },
35
+ params: {
36
+ operation: 'quickSearch',
37
+ query: `*`,
38
+ maxResults: maxResults,
39
+ objectType: 'DDLS',
40
+ releaseState: 'USE_IN_CLOUD_DEVELOPMENT'
41
+ }
42
+ };
43
+ const response = await this.get('', config);
44
+ return this.parseAbapCDSViewResponse(response.data);
45
+ }
46
+ /**
47
+ * Parse the XML document of abap cds view entries from ADT service.
48
+ *
49
+ * @param xml xml document containing abap cds view entries.
50
+ * @returns A list of abap cds view names.
51
+ */
52
+ parseAbapCDSViewResponse(xml) {
53
+ const parsed = this.parseResponse(xml);
54
+ let abapCDSViewArray = [];
55
+ if (parsed?.objectReferences?.objectReference) {
56
+ if (Array.isArray(parsed.objectReferences.objectReference)) {
57
+ abapCDSViewArray = parsed.objectReferences.objectReference;
58
+ }
59
+ else {
60
+ abapCDSViewArray = [parsed.objectReferences.objectReference];
61
+ }
62
+ }
63
+ return abapCDSViewArray.map((item) => {
64
+ const { name, uri, description } = item;
65
+ return { name, uri, description };
66
+ });
67
+ }
68
+ }
69
+ exports.AbapCDSViewService = AbapCDSViewService;
70
+ //# sourceMappingURL=abapcdsview-service.js.map
@@ -17,11 +17,11 @@ export declare class GeneratorService extends AdtService {
17
17
  static getAdtCatagory(): AdtCategory;
18
18
  private id;
19
19
  /**
20
- * Get the UI service generator for the given business object.
20
+ * Get the UI service generator for the given referenced object.
21
21
  *
22
- * @param businessObjectName - The business object name.
22
+ * @param objectUri - The object (business object or abap cds view) uri.
23
23
  * @returns TBD
24
24
  */
25
- getUIServiceGeneratorConfig(businessObjectName: string): Promise<GeneratorEntry>;
25
+ getUIServiceGeneratorConfig(objectUri: string): Promise<GeneratorEntry>;
26
26
  }
27
27
  //# sourceMappingURL=generator-service.d.ts.map
@@ -23,18 +23,18 @@ class GeneratorService extends adt_service_1.AdtService {
23
23
  }
24
24
  id;
25
25
  /**
26
- * Get the UI service generator for the given business object.
26
+ * Get the UI service generator for the given referenced object.
27
27
  *
28
- * @param businessObjectName - The business object name.
28
+ * @param objectUri - The object (business object or abap cds view) uri.
29
29
  * @returns TBD
30
30
  */
31
- async getUIServiceGeneratorConfig(businessObjectName) {
31
+ async getUIServiceGeneratorConfig(objectUri) {
32
32
  const response = await this.get('', {
33
33
  headers: {
34
34
  Accept: 'application/atom+xml;type=feed'
35
35
  },
36
36
  params: {
37
- referencedObject: `/sap/bc/adt/bo/behaviordefinitions/${businessObjectName.toLocaleLowerCase()}`,
37
+ referencedObject: objectUri,
38
38
  type: 'webapi'
39
39
  }
40
40
  });
@@ -6,4 +6,5 @@ export { ListPackageService } from './list-package-service';
6
6
  export { FileStoreService } from './filestore-service';
7
7
  export { GeneratorService } from './generator-service';
8
8
  export { BusinessObjectsService } from './businessobjects-service';
9
+ export { AbapCDSViewService } from './abapcdsview-service';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BusinessObjectsService = exports.GeneratorService = exports.FileStoreService = exports.ListPackageService = exports.TransportRequestService = exports.TransportChecksService = exports.AtoService = exports.AdtService = void 0;
3
+ exports.AbapCDSViewService = exports.BusinessObjectsService = exports.GeneratorService = exports.FileStoreService = exports.ListPackageService = exports.TransportRequestService = exports.TransportChecksService = exports.AtoService = exports.AdtService = void 0;
4
4
  var adt_service_1 = require("./adt-service");
5
5
  Object.defineProperty(exports, "AdtService", { enumerable: true, get: function () { return adt_service_1.AdtService; } });
6
6
  var ato_service_1 = require("./ato-service");
@@ -17,4 +17,6 @@ var generator_service_1 = require("./generator-service");
17
17
  Object.defineProperty(exports, "GeneratorService", { enumerable: true, get: function () { return generator_service_1.GeneratorService; } });
18
18
  var businessobjects_service_1 = require("./businessobjects-service");
19
19
  Object.defineProperty(exports, "BusinessObjectsService", { enumerable: true, get: function () { return businessobjects_service_1.BusinessObjectsService; } });
20
+ var abapcdsview_service_1 = require("./abapcdsview-service");
21
+ Object.defineProperty(exports, "AbapCDSViewService", { enumerable: true, get: function () { return abapcdsview_service_1.AbapCDSViewService; } });
20
22
  //# sourceMappingURL=index.js.map
@@ -119,6 +119,11 @@ export type BusinessObject = {
119
119
  uri: string;
120
120
  description?: string;
121
121
  };
122
+ export type AbapCDSView = {
123
+ name: string;
124
+ uri: string;
125
+ description?: string;
126
+ };
122
127
  export type PublishResponse = {
123
128
  SEVERITY: string;
124
129
  SHORT_TEXT: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sap-ux/axios-extension",
3
- "version": "1.15.1",
3
+ "version": "1.16.0",
4
4
  "description": "Extension of the Axios module adding convenience methods to interact with SAP systems especially with OData services.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -29,7 +29,7 @@
29
29
  "@types/lodash": "4.14.202",
30
30
  "nock": "13.4.0",
31
31
  "supertest": "6.3.3",
32
- "@sap-ux/project-access": "1.23.0"
32
+ "@sap-ux/project-access": "1.25.5"
33
33
  },
34
34
  "files": [
35
35
  "dist",