Skip to content

Commit 695f775

Browse files
authored
Fix DP package assignment (#195)
1 parent 8fcbe9e commit 695f775

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

__tests__/mockedCsn.test.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,10 @@ describe("Tests for ORD document generated out of mocked csn files", () => {
143143
);
144144
expect(dataProductApiResources).toHaveLength(1);
145145
expect(dataProductApiResources[0].resourceDefinitions).toHaveLength(1);
146-
expect(dataProductApiResources[0].resourceDefinitions[0]).type === "sap-csn-interop-effective-v1";
146+
expect(dataProductApiResources[0].resourceDefinitions[0].type).toEqual("sap-csn-interop-effective-v1");
147+
expect(dataProductApiResources[0].partOfPackage).toEqual(
148+
"sap.test.cdsrc.sample:package:capirebookshopordsample-api-internal:v1",
149+
);
147150
});
148151

149152
test("Should not generate duplicate apiResources when the servie is annotated as primary data product ", () => {

lib/templates.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,9 @@ const createEntityTypeTemplate = (appConfig, packageIds, entity) => {
242242

243243
function _handleVisibility(ordExtensions, definition) {
244244
let visibility;
245-
if (ordExtensions.visibility) {
245+
if (isPrimaryDataProductService(definition)) {
246+
visibility = RESOURCE_VISIBILITY.internal;
247+
} else if (ordExtensions.visibility) {
246248
visibility = ordExtensions.visibility;
247249
} else if (definition[ORD_EXTENSIONS_PREFIX + "visibility"]) {
248250
visibility = definition[ORD_EXTENSIONS_PREFIX + "visibility"];
@@ -307,9 +309,8 @@ const createAPIResourceTemplate = (serviceName, serviceDefinition, appConfig, pa
307309
...ordExtensions,
308310
};
309311

310-
if (serviceDefinition[DATA_PRODUCT_ANNOTATION] === DATA_PRODUCT_TYPE.primary) {
312+
if (isPrimaryDataProductService(serviceDefinition)) {
311313
obj.apiProtocol = "rest";
312-
obj.visibility = RESOURCE_VISIBILITY.internal;
313314
obj.direction = "outbound";
314315
obj.implementationStandard = "sap.dp:data-subscription-api:v1";
315316
obj.entryPoints = [];
@@ -383,6 +384,10 @@ const createEventResourceTemplate = (serviceName, serviceDefinition, appConfig,
383384
: [];
384385
};
385386

387+
function isPrimaryDataProductService(serviceDefinition) {
388+
return serviceDefinition[DATA_PRODUCT_ANNOTATION] === DATA_PRODUCT_TYPE.primary;
389+
}
390+
386391
function _getEntityTypeMappings(definitionObj) {
387392
if (!definitionObj.entities) {
388393
return;

0 commit comments

Comments
 (0)