diff --git a/lib/Misc.js b/lib/Misc.js index 1868336..29a191f 100644 --- a/lib/Misc.js +++ b/lib/Misc.js @@ -8,6 +8,9 @@ function getPagination( query ){ if( query.page ){ limit.page = parseInt( query.page ) || 0; + if( limit.page < 0 ){ + limit.page = 0; + } } if( query.elements ){ limit.elements = parseInt( query.elements ) || 10; @@ -15,6 +18,9 @@ function getPagination( query ){ if( limit.elements > 1000 ){ limit.elements = 1000; } + else if( limit.elements < 0 ){ + limit.elements = 10; + } } return limit; } diff --git a/sections/product-categories/routes.js b/sections/product-categories/routes.js new file mode 100644 index 0000000..c2ecfef --- /dev/null +++ b/sections/product-categories/routes.js @@ -0,0 +1,8 @@ +'use strict'; +const router = require('express').Router(); +const services= require('./services.js'); + +router.get('/', services.getProductCategoriesList); +router.get('/:id', services.getProductCategory ); + +module.exports = router; diff --git a/sections/product-categories/services.js b/sections/product-categories/services.js new file mode 100644 index 0000000..2bddcdc --- /dev/null +++ b/sections/product-categories/services.js @@ -0,0 +1,17 @@ +"use strict"; +const { ROOT_PATH, LIB_PATH, MODELS_PATH, HANDLERS_PATH } = process.env; +const { getPagination , queryPage } = require( `${ROOT_PATH}/${LIB_PATH}/Misc.js` ); +const productCategoriesModel = require( `${ROOT_PATH}/${MODELS_PATH}/product-categories.model.js` ); + +const getProductCategoriesList = async(req, res) => { + const { page , elements } = getPagination( req.query ); + const retVal = await queryPage( page , elements, productCategoriesModel ); + res.send( retVal ); +}; + +const getProductCategory = async(req, res) => { + const retVal = await productCategoriesModel.findById( req.params.id ); + res.send( retVal ); +}; + +module.exports = { getProductCategoriesList , getProductCategory }; \ No newline at end of file diff --git a/sections/sections.js b/sections/sections.js index e01c7b6..96316d0 100644 --- a/sections/sections.js +++ b/sections/sections.js @@ -9,11 +9,13 @@ const test = require('./test/routes.js'); const users = require('./users/routes.js'); const countries = require('./countries/routes.js'); const cities = require('./cities/routes.js'); +const productCategories = require('./product-categories/routes.js'); router.use("/test", test); router.use('/countries', countries); router.use('/cities', cities); router.use('/states', test); +router.use('/product-categories', productCategories); router.use( jwtValidator.middleware ); @@ -27,7 +29,6 @@ router.use('/loads', test); router.use('/vehicles', test); router.use('/mailer', test); router.use('/authmanagement', test); -router.use('/productCategories', test); router.use('/memberships', test); router.use('/checkAccount', test); router.use('/proposals', test);