I am trying to pull some data from a Postgres database using Node.js and node-postures but I can't figure out why my service isn't connecting.
my routes/index.js file:
const express = require('express');
const router = express.Router();
const ordersCountController = require('../controllers/ordersCountController');
const ordersController = require('../controllers/ordersController');
const weeklyReportsController = require('../controllers/weeklyReportsController');
router.get('/orders_count', ordersCountController);
router.get('/orders', ordersController);
router.get('/weekly_reports', weeklyReportsController);
module.exports = router;
My controllers/weeklyReportsController.js file:
const weeklyReportsService = require('../services/weeklyReportsService');
const weeklyReportsController = async (req, res) => {
try {
const data = await weeklyReportsService;
res.json({data})
console.log('Weekly reports controller - success');
} catch(err) {
console.log(err);
}
};
module.exports = weeklyReportsController;
My services/weeklyReportsService.js file:
const Pool = require('pg').Pool
const pool = new Pool({
.... db info ....
})
const weeklyReportsService = async (req, res) => {
await pool.query('SELECT * FROM reports', (err, results) => {
if (err) {
throw err;
}
res.status(200).json(results.rows);
console.log('Weekly reports service - success.');
});
};
module.exports = weeklyReportsService;
I expected the JSON to be sent back through and displayed at the 'api/weekly_reports' endpoint, however it is just showing a blank json.
I added a console.log command to both the controller and the service and expect them both to trigger but only the controller is sending it. Why is my service not coming into play here?
Any suggestions or corrections are highly appreciated and if there is anything I can add for clarity, please don't hesitate to ask.
Thank you all for your time.
Via Active questions tagged javascript - Stack Overflow https://ift.tt/2FdjaAW
Comments
Post a Comment