diff --git a/sections/cities/routes.js b/sections/cities/routes.js new file mode 100644 index 0000000..d08b61c --- /dev/null +++ b/sections/cities/routes.js @@ -0,0 +1,8 @@ +'use strict'; +const router = require('express').Router(); +const services= require('./services.js'); + +router.get('/', services.getCitiesList); +router.get('/:id', services.getCity); + +module.exports = router; diff --git a/sections/cities/services.js b/sections/cities/services.js new file mode 100644 index 0000000..1566fdc --- /dev/null +++ b/sections/cities/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 citiesModel = require( `${ROOT_PATH}/${MODELS_PATH}/cities.model.js` ); + +const getCitiesList = async(req, res) => { + const { page , elements } = getPagination( req.query ); + const retVal = await queryPage( page , elements, citiesModel ); + res.send( retVal ); +}; + +const getCity = async(req, res) => { + const retVal = await citiesModel.findById( req.params.id ); + res.send( retVal ); +}; + +module.exports = { getCitiesList , getCity }; \ No newline at end of file diff --git a/sections/sections.js b/sections/sections.js index a45e991..e01c7b6 100644 --- a/sections/sections.js +++ b/sections/sections.js @@ -8,10 +8,11 @@ const jwtValidator = require( `${ROOT_PATH}/${LIB_PATH}/jwtValidator.js` ); const test = require('./test/routes.js'); const users = require('./users/routes.js'); const countries = require('./countries/routes.js'); +const cities = require('./cities/routes.js'); router.use("/test", test); router.use('/countries', countries); -router.use('/cities', test); +router.use('/cities', cities); router.use('/states', test); router.use( jwtValidator.middleware );