From ef2c6c1c32190561bb2e24a574aa52511bf6b1a9 Mon Sep 17 00:00:00 2001
From: Ryszard Trojnacki <ryszard.trojnacki@ilot.lukasiewicz.gov.pl>
Date: Thu, 6 Mar 2025 11:53:26 +0100
Subject: [PATCH] Fixed bug with calling next Express middleware after sending
 response in `farmController.js` and `fieldController.js`.

---
 packages/api/src/controllers/farmController.js  | 12 ++++--------
 packages/api/src/controllers/fieldController.js |  3 +--
 2 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/packages/api/src/controllers/farmController.js b/packages/api/src/controllers/farmController.js
index 35c0e90861..522c4efda5 100644
--- a/packages/api/src/controllers/farmController.js
+++ b/packages/api/src/controllers/farmController.js
@@ -31,15 +31,13 @@ const farmController = {
         const { country } = req.body;
         if (!country) {
           await trx.rollback();
-          res.status(400).send('No country selected');
-          return next();
+          return res.status(400).send('No country selected');
         }
 
         const { id, ...units } = await this.getCountry(country);
         if (!units) {
           await trx.rollback();
-          res.status(400).send('No unit info for given country');
-          return next();
+          return res.status(400).send('No unit info for given country');
         }
 
         const utc_offset = await this.getUTCOffsetFromGridPoints(req.body.grid_points);
@@ -57,14 +55,12 @@ const farmController = {
         const new_user = await farmController.getUser(req, trx);
         const userFarm = await farmController.insertUserFarm(new_user[0], result.farm_id, trx);
         await trx.commit();
-        res.status(201).send(Object.assign({}, result, userFarm));
-        return next();
+        return res.status(201).send(Object.assign({}, result, userFarm));
       } catch (error) {
         //handle more exceptions
         console.log(error);
         await trx.rollback();
-        res.status(400).send(error);
-        return next();
+        return res.status(400).send(error);
       }
     };
   },
diff --git a/packages/api/src/controllers/fieldController.js b/packages/api/src/controllers/fieldController.js
index 35fac26fe8..30b97ad934 100644
--- a/packages/api/src/controllers/fieldController.js
+++ b/packages/api/src/controllers/fieldController.js
@@ -31,9 +31,8 @@ const fieldController = {
           return res.sendStatus(403);
         } else {
           await trx.commit();
-          res.status(201).send(result);
           req.field = { fieldId: result.field_id, point: result.grid_points[0] };
-          next();
+          return res.status(201).send(result);
         }
       } catch (error) {
         //handle more exceptions