feat: Cities uses GenericHandler

This commit is contained in:
2023-10-09 12:39:39 -06:00
parent 54387add66
commit d01f62004f
18 changed files with 124 additions and 59 deletions

View File

@@ -2,8 +2,8 @@
const router = require('express').Router();
const services= require('./services.js');
router.get('/', services.getCitiesList);
router.get('/find', services.findCitiesList);
router.get('/:id', services.getCity);
router.get('/', services.getList);
router.get('/find', services.findList);
router.get('/:id', services.getById);
module.exports = router;

View File

@@ -1,28 +1,33 @@
"use strict";
const { ROOT_PATH, LIB_PATH, MODELS_PATH, HANDLERS_PATH } = process.env;
const { getPagination , getPage } = require( `${ROOT_PATH}/${LIB_PATH}/Misc.js` );
const { GenericHandler } = require( `${ROOT_PATH}/${HANDLERS_PATH}/Generic.handler.js` );
const Model = require( `${ROOT_PATH}/${MODELS_PATH}/cities.model.js` );
const getCitiesList = async(req, res) => {
const generic = new GenericHandler( Model, "city_name" );
const getList = async(req, res) => {
const { page , elements } = getPagination( req.query );
const retVal = await getPage( page , elements, Model );
const retVal = await generic.getList(page , elements);
res.send( retVal );
};
const findCitiesList = async(req, res) => {
let filter=null;
if( req.query.regex ){
const re = new RegExp( req.query.regex );
filter = { "city_name" : { $regex: re, $options: 'i' }};
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);
}
const { page , elements } = getPagination( req.query );
const retVal = await getPage( page, elements, Model, filter );
res.send( retVal );
};
const getCity = async(req, res) => {
const retVal = await Model.findById( req.params.id );
const getById = async(req, res) => {
const id=req.params.id;
const retVal = await generic.getById( id );
res.send( retVal );
};
module.exports = { getCitiesList , findCitiesList , getCity };
module.exports = { getList , findList , getById };