diff --git a/packages/bookshop/app/_i18n/i18n.properties b/packages/bookshop/app/_i18n/i18n.properties index 23c28aaa..c2765930 100644 --- a/packages/bookshop/app/_i18n/i18n.properties +++ b/packages/bookshop/app/_i18n/i18n.properties @@ -17,5 +17,5 @@ houseNumber = House Number streetName = Street Name postalCode = Postal Code country = Country -addressID = Address ID -businessPartner = Business Partner +AddressID = Address ID +BusinessPartner = Business Partner diff --git a/packages/bookshop/app/common.cds b/packages/bookshop/app/common.cds index 719301a7..96427798 100644 --- a/packages/bookshop/app/common.cds +++ b/packages/bookshop/app/common.cds @@ -74,8 +74,8 @@ annotate my.Authors with { } annotate my.ShippingAddresses with { - addressID @title:'{i18n>addressID}'; - businessPartner @title:'{i18n>businessPartner}'; + AddressID @title:'{i18n>AddressID}'; + BusinessPartner @title:'{i18n>BusinessPartner}'; cityName @title:'{i18n>cityName}'; streetName @title:'{i18n>streetName}'; postalCode @title:'{i18n>postalCode}'; diff --git a/packages/bookshop/app/orders/fiori-service.cds b/packages/bookshop/app/orders/fiori-service.cds index 56cd16c6..95c5dcdf 100644 --- a/packages/bookshop/app/orders/fiori-service.cds +++ b/packages/bookshop/app/orders/fiori-service.cds @@ -29,8 +29,8 @@ annotate AdminService.Orders with { Label: 'Addresses', SearchSupported: 'true', Parameters: [ - { $Type: 'Common.ValueListParameterOut', LocalDataProperty: 'shippingAddress_addressID', ValueListProperty: 'addressID'}, - { $Type: 'Common.ValueListParameterOut', LocalDataProperty: 'shippingAddress_businessPartner', ValueListProperty: 'businessPartner'}, + { $Type: 'Common.ValueListParameterOut', LocalDataProperty: 'shippingAddress_AddressID', ValueListProperty: 'AddressID'}, + { $Type: 'Common.ValueListParameterOut', LocalDataProperty: 'shippingAddress_BusinessPartner', ValueListProperty: 'BusinessPartner'}, { $Type: 'Common.ValueListParameterDisplayOnly', ValueListProperty: 'postalCode'}, { $Type: 'Common.ValueListParameterDisplayOnly', ValueListProperty: 'cityName'}, { $Type: 'Common.ValueListParameterDisplayOnly', ValueListProperty: 'country'}, @@ -40,7 +40,7 @@ annotate AdminService.Orders with { }, SideEffects : { EffectTypes : #ValueChange, - SourceProperties : [shippingAddress_addressID], + SourceProperties : [shippingAddress_AddressID], TargetProperties : [ shippingAddress.country, shippingAddress.houseNumber, @@ -115,7 +115,7 @@ annotate AdminService.Orders with @( }, FieldGroup#ShippingAddress: { Data: [ - {Value: shippingAddress_addressID, Label:'{i18n>shippingAddress}'}, + {Value: shippingAddress_AddressID, Label:'{i18n>shippingAddress}'}, {Value: shippingAddress.houseNumber, Label:'{i18n>houseNumber}'}, {Value: shippingAddress.streetName, Label:'{i18n>streetName}'}, {Value: shippingAddress.cityName, Label:'{i18n>cityName}'}, diff --git a/packages/bookshop/db/schema.cds b/packages/bookshop/db/schema.cds index 10e9ac55..deef3bb9 100644 --- a/packages/bookshop/db/schema.cds +++ b/packages/bookshop/db/schema.cds @@ -40,8 +40,8 @@ entity OrderItems : cuid { @cds.persistence.skip: false @cds.persistence.table entity ShippingAddresses as projection on extAddresses { - key AddressID as addressID, - key BusinessPartner as businessPartner, + key AddressID, + key BusinessPartner, Country as country, CityName as cityName, PostalCode as postalCode, diff --git a/packages/bookshop/req.http b/packages/bookshop/req.http index e6e35cfc..872eb741 100644 --- a/packages/bookshop/req.http +++ b/packages/bookshop/req.http @@ -3,5 +3,6 @@ Content-Type: application/json Authorization: Basic QUxJQ0Utc2VjcmV0 { - "PostalCode": "123456" + "PostalCode": "123456", + "CityName": "BlaTown" } diff --git a/packages/bookshop/srv/admin-service.js b/packages/bookshop/srv/admin-service.js index 3275ad27..57b1412b 100644 --- a/packages/bookshop/srv/admin-service.js +++ b/packages/bookshop/srv/admin-service.js @@ -15,8 +15,8 @@ const _qlsToUpdateDifferences = (ownAddresses, remoteAddresses) => .map(ownAddress => { const remoteAddress = remoteAddresses.find( address => - address.businessPartner === ownAddress.businessPartner && - address.addressID === ownAddress.addressID + address.BusinessPartner === ownAddress.BusinessPartner && + address.AddressID === ownAddress.AddressID ) if (remoteAddress) { const diff = _diff(ownAddress, remoteAddress) @@ -26,25 +26,25 @@ const _qlsToUpdateDifferences = (ownAddresses, remoteAddresses) => UPDATE(ShippingAddresses) .set(diff) .where({ - businessPartner: ownAddress.businessPartner, - addressID: ownAddress.addressID + BusinessPartner: ownAddress.BusinessPartner, + AddressID: ownAddress.AddressID }) ) } return DELETE(ShippingAddresses).where({ - businessPartner: ownAddress.businessPartner, - addressID: ownAddress.addressID + BusinessPartner: ownAddress.BusinessPartner, + AddressID: ownAddress.AddressID }) }) .filter(el => el) bupaSrv.on('sap/messaging/ccf/BO/BusinessPartner/Changed', async msg => { console.log('>> Message:', msg.data) - const businessPartner = msg.data.KEY[0].BUSINESSPARTNER + const BusinessPartner = msg.data.KEY[0].BUSINESSPARTNER const tx = cds.transaction() - const selectQl = SELECT.from(ShippingAddresses).where({ businessPartner }) + const selectQl = SELECT.from(ShippingAddresses).where({ BusinessPartner }) const selectQlToBeDeleted = SELECT.from(ShippingAddresses).where({ - businessPartner + BusinessPartner }) const ownAddresses = await tx.run(selectQl) @@ -55,8 +55,8 @@ bupaSrv.on('sap/messaging/ccf/BO/BusinessPartner/Changed', async msg => { const txExt = bupaSrv.transaction() const remoteAddresses = await txExt.run(selectQlToBeDeleted) - await _qlsToUpdateDifferences(ownAddresses, remoteAddresses).map(ql => - tx.run(ql) + await _qlsToUpdateDifferences(ownAddresses, remoteAddresses).map(async ql => + await tx.run(ql) ) await tx.commit() } @@ -65,10 +65,10 @@ bupaSrv.on('sap/messaging/ccf/BO/BusinessPartner/Changed', async msg => { module.exports = cds.service.impl(function () { async function _readAddresses (req) { console.log('Addresses', ShippingAddresses) - const businessPartner = req.user.id - const tx = bupaSrv.transaction(req) + const BusinessPartner = req.user.id + const txExt = bupaSrv.transaction(req) const ql = SELECT.from(ShippingAddresses).where({ - businessPartner + BusinessPartner }) if (req.query && req.query.SELECT && req.query.SELECT.columns) { ql.columns(req.query.SELECT.columns) @@ -77,26 +77,26 @@ module.exports = cds.service.impl(function () { ql.where(req.query.SELECT.where) } - const result = await tx.run(ql) - delete result.businessPartner + const result = await txExt.run(ql) + return result } async function _fillAddress (req) { - if (req.data.shippingAddress_addressID) { - const businessPartner = req.user.id - const tx = bupaSrv.transaction(req) - const response = await tx.run( + if (req.data.shippingAddress_AddressID) { + const BusinessPartner = req.user.id + const txExt = bupaSrv.transaction(req) + const response = await txExt.run( SELECT.from(ShippingAddresses).where({ - addressID: req.data.shippingAddress_addressID, - businessPartner + AddressID: req.data.shippingAddress_AddressID, + BusinessPartner }) ) if (response && response.length > 0) { - const tx2 = cds.transaction(req) + const tx = cds.transaction(req) try { const qlStatement = INSERT.into(ShippingAddresses).entries(response) - await tx2.run(qlStatement) + await tx.run(qlStatement) } catch (e) { // already in there }