From 9451e3ff67f35a0dc8cb598a9a27ed8846c4894b Mon Sep 17 00:00:00 2001 From: Daniel Hutzel Date: Mon, 31 Mar 2025 12:15:59 +0200 Subject: [PATCH] Eliminate usages of obsolete cds.tx(req) --- orders/srv/orders-service.js | 8 ++------ reviews/srv/reviews-service.js | 12 ++++-------- 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/orders/srv/orders-service.js b/orders/srv/orders-service.js index f9b55c3c..222129b4 100644 --- a/orders/srv/orders-service.js +++ b/orders/srv/orders-service.js @@ -8,18 +8,14 @@ class OrdersService extends cds.ApplicationService { this.before ('UPDATE', 'Orders', async function(req) { const { ID, Items } = req.data if (Items) for (let { product_ID, quantity } of Items) { - const { quantity:before } = await cds.tx(req).run ( - SELECT.one.from (OrderItems, oi => oi.quantity) .where ({up__ID:ID, product_ID}) - ) + const { quantity:before } = await SELECT.one.from (OrderItems, oi => oi.quantity) .where ({up__ID:ID, product_ID}) if (quantity != before) await this.orderChanged (product_ID, quantity-before) } }) this.before ('DELETE', 'Orders', async function(req) { const { ID } = req.data - const Items = await cds.tx(req).run ( - SELECT.from (OrderItems, oi => { oi.product_ID, oi.quantity }) .where ({up__ID:ID}) - ) + const Items = await SELECT.from (OrderItems, oi => { oi.product_ID, oi.quantity }) .where ({up__ID:ID}) if (Items) await Promise.all (Items.map(it => this.orderChanged (it.product_ID, -it.quantity))) }) diff --git a/reviews/srv/reviews-service.js b/reviews/srv/reviews-service.js index 20fde770..b7f5d0a0 100644 --- a/reviews/srv/reviews-service.js +++ b/reviews/srv/reviews-service.js @@ -12,9 +12,7 @@ module.exports = cds.service.impl (function(){ // Emit an event to inform subscribers about new avg ratings for reviewed subjects this.after (['CREATE','UPDATE','DELETE'], 'Reviews', async function(_,req) { const {subject} = req.data - const { count, rating } = await cds.tx(req) .run ( - SELECT.one `round(avg(rating),2) as rating, count(*) as count` .from (Reviews) .where ({subject}) - ) + const { count, rating } = await SELECT.one `round(avg(rating),2) as rating, count(*) as count` .from (Reviews) .where ({subject}) global.it || console.log ('< emitting:', 'reviewed', { subject, count, rating }) // eslint-disable-line no-console await this.emit ('reviewed', { subject, count, rating }) }) @@ -23,8 +21,7 @@ module.exports = cds.service.impl (function(){ this.on ('like', (req) => { if (!req.user) return req.reject(400, 'You must be identified to like a review') const {review} = req.data, {user} = req - const tx = cds.tx(req) - return tx.run ([ + return cds.run ([ INSERT.into (Likes) .entries ({review_ID: review, user: user.id}), UPDATE (Reviews) .set({liked: {'+=': 1}}) .where({ID:review}) ]).catch(() => req.reject(400, 'You already liked that review')) @@ -34,9 +31,8 @@ module.exports = cds.service.impl (function(){ this.on ('unlike', async (req) => { if (!req.user) return req.reject(400, 'You must be identified to remove a former like of yours') const {review} = req.data, {user} = req - const tx = cds.tx(req) - const affectedRows = await tx.run (DELETE.from (Likes) .where ({review_ID: review,user: user.id})) - if (affectedRows === 1) return tx.run (UPDATE (Reviews) .set ({liked: {'-=': 1}}) .where ({ID:review})) + const affectedRows = await DELETE.from (Likes) .where ({review_ID: review,user: user.id}) + if (affectedRows === 1) return UPDATE (Reviews) .set ({liked: {'-=': 1}}) .where ({ID:review}) }) })