From c264985aa276377f7761f98b1f298a957b313017 Mon Sep 17 00:00:00 2001 From: "Josepablo C." Date: Wed, 15 Nov 2023 21:03:51 -0600 Subject: [PATCH] feat: Adding news endpoint --- src/apps/public/index.js | 2 ++ src/apps/public/news/routes.js | 9 +++++++++ src/apps/public/news/services.js | 33 ++++++++++++++++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 src/apps/public/news/routes.js create mode 100644 src/apps/public/news/services.js diff --git a/src/apps/public/index.js b/src/apps/public/index.js index 27cefe4..bbc4b25 100644 --- a/src/apps/public/index.js +++ b/src/apps/public/index.js @@ -9,6 +9,7 @@ const cities = require('./cities/routes.js'); const countries = require('./countries/routes.js'); const metaData = require('./meta-data/routes.js'); const metaGroups = require('./meta-groups/routes.js'); +const news = require('./news/routes.js'); const productCategories = require('./product-categories/routes.js'); const products = require('./products/routes.js'); const publicCompanies = require('./public-companies/routes.js'); @@ -23,6 +24,7 @@ router.use('/cities', cities); router.use('/countries', countries); router.use('/meta-data', metaData); router.use('/meta-groups', metaGroups); +router.use('/news', news); router.use('/product-categories', productCategories); router.use('/products', products); router.use("/public-companies", publicCompanies); diff --git a/src/apps/public/news/routes.js b/src/apps/public/news/routes.js new file mode 100644 index 0000000..2681e86 --- /dev/null +++ b/src/apps/public/news/routes.js @@ -0,0 +1,9 @@ +'use strict'; +const router = require('express').Router(); +const services= require('./services.js'); + +router.get('/', services.getList); +router.get('/find', services.findList); +router.get('/:id', services.getById); + +module.exports = router; diff --git a/src/apps/public/news/services.js b/src/apps/public/news/services.js new file mode 100644 index 0000000..40e7ad3 --- /dev/null +++ b/src/apps/public/news/services.js @@ -0,0 +1,33 @@ +"use strict"; +const { ROOT_PATH, LIB_PATH, MODELS_PATH, HANDLERS_PATH } = process.env; +const { getPagination } = require( `${ROOT_PATH}/${LIB_PATH}/Misc.js` ); +const { GenericHandler } = require( `${ROOT_PATH}/${HANDLERS_PATH}/Generic.handler.js` ); +const Model = require( `${ROOT_PATH}/${MODELS_PATH}/news.model.js` ); + +const generic = new GenericHandler( Model ); + +const getList = async(req, res) => { + const { page , elements } = getPagination( req.query ); + const retVal = await generic.getList(page , elements); + res.send( retVal ); +}; + +const findList = async(req, res) => { + const findString = req.query.regex || null; + const { page , elements } = getPagination( req.query ); + let retVal; + if( findString ){ + retVal = await generic.findList( findString, page, elements ); + }else{ + retVal = await generic.getList(page , elements); + } + res.send( retVal ); +}; + +const getById = async(req, res) => { + const id=req.params.id; + const retVal = await generic.getById( id ); + res.send( retVal ); +}; + +module.exports = { getList , findList , getById };