diff --git a/src/apps/public/cities/services.js b/src/apps/public/cities/services.js index e78fca8..41a7ed4 100644 --- a/src/apps/public/cities/services.js +++ b/src/apps/public/cities/services.js @@ -1,6 +1,6 @@ "use strict"; const { ROOT_PATH, LIB_PATH, MODELS_PATH, HANDLERS_PATH } = process.env; -const { getPagination , getPage } = require( `${ROOT_PATH}/${LIB_PATH}/Misc.js` ); +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}/cities.model.js` ); diff --git a/src/apps/public/countries/services.js b/src/apps/public/countries/services.js index 9370975..b571fcb 100644 --- a/src/apps/public/countries/services.js +++ b/src/apps/public/countries/services.js @@ -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 { 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}/countries.model.js` ); +const generic = new GenericHandler( Model, "country_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 findList = async(req, res) => { - let filter=null; - if( req.query.regex ){ - const re = new RegExp( req.query.regex ); - filter = { "country_name" : { $regex: re, $options: 'i' }}; - } + const findString = req.query.regex || null; const { page , elements } = getPagination( req.query ); - const retVal = await getPage( page, elements, Model, filter ); + 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 retVal = await Model.findById( req.params.id ); + const id=req.params.id; + const retVal = await generic.getById( id ); res.send( retVal ); }; -module.exports = { getList, findList, getById }; +module.exports = { getList , findList , getById }; diff --git a/src/apps/public/meta-data/services.js b/src/apps/public/meta-data/services.js index f07a4ec..32088b3 100644 --- a/src/apps/public/meta-data/services.js +++ b/src/apps/public/meta-data/services.js @@ -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 { 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}/meta-data.model.js` ); +const generic = new GenericHandler( Model, "meta_value" ); + 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 findList = async(req, res) => { - let filter=null; - if( req.query.regex ){ - const re = new RegExp( req.query.regex ); - filter = { "meta_value" : { $regex: re, $options: 'i' }}; - } + const findString = req.query.regex || null; const { page , elements } = getPagination( req.query ); - const retVal = await getPage( page, elements, Model, filter ); + 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 retVal = await Model.findById( req.params.id ); + const id=req.params.id; + const retVal = await generic.getById( id ); res.send( retVal ); }; -module.exports = { getList, findList, getById }; +module.exports = { getList , findList , getById }; diff --git a/src/apps/public/meta-groups/services.js b/src/apps/public/meta-groups/services.js index b3b3334..c5dfa35 100644 --- a/src/apps/public/meta-groups/services.js +++ b/src/apps/public/meta-groups/services.js @@ -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 { 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}/meta-groups.model.js` ); +const generic = new GenericHandler( Model, "group_label" ); + 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 findList = async(req, res) => { - let filter=null; - if( req.query.regex ){ - const re = new RegExp( req.query.regex ); - filter = { "group_label" : { $regex: re, $options: 'i' }}; - } + const findString = req.query.regex || null; const { page , elements } = getPagination( req.query ); - const retVal = await getPage( page, elements, Model, filter ); + 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 retVal = await Model.findById( req.params.id ); + const id=req.params.id; + const retVal = await generic.getById( id ); res.send( retVal ); }; -module.exports = { getList, findList, getById }; +module.exports = { getList , findList , getById }; diff --git a/src/apps/public/product-categories/services.js b/src/apps/public/product-categories/services.js index 484060d..19cbb11 100644 --- a/src/apps/public/product-categories/services.js +++ b/src/apps/public/product-categories/services.js @@ -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 { 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}/product-categories.model.js` ); +const generic = new GenericHandler( Model, "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 findList = async(req, res) => { - let filter=null; - if( req.query.regex ){ - const re = new RegExp( req.query.regex ); - filter = { "name" : { $regex: re, $options: 'i' }}; - } + const findString = req.query.regex || null; const { page , elements } = getPagination( req.query ); - const retVal = await getPage( page, elements, Model, filter ); + 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 retVal = await Model.findById( req.params.id ); + const id=req.params.id; + const retVal = await generic.getById( id ); res.send( retVal ); }; -module.exports = { getList, findList, getById }; +module.exports = { getList , findList , getById }; diff --git a/src/apps/public/products/services.js b/src/apps/public/products/services.js index b847f96..dd6bfde 100644 --- a/src/apps/public/products/services.js +++ b/src/apps/public/products/services.js @@ -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 { 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}/products.model.js` ); +const generic = new GenericHandler( Model, "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 findList = async(req, res) => { - let filter=null; - if( req.query.regex ){ - const re = new RegExp( req.query.regex ); - filter = { "name" : { $regex: re, $options: 'i' }}; - } + const findString = req.query.regex || null; const { page , elements } = getPagination( req.query ); - const retVal = await getPage( page, elements, Model, filter ); + 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 retVal = await Model.findById( req.params.id ); + const id=req.params.id; + const retVal = await generic.getById( id ); res.send( retVal ); }; -module.exports = { getList, findList, getById }; +module.exports = { getList , findList , getById }; diff --git a/src/apps/public/states/services.js b/src/apps/public/states/services.js index 3d493e9..e636f38 100644 --- a/src/apps/public/states/services.js +++ b/src/apps/public/states/services.js @@ -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}/states.model.js` ); +const generic = new GenericHandler( Model, "state_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 findList = async(req, res) => { - let filter=null; - if( req.query.regex ){ - const re = new RegExp( req.query.regex ); - filter = { "state_name" : { $regex: re, $options: 'i' }}; - } + const findString = req.query.regex || null; const { page , elements } = getPagination( req.query ); - const retVal = await getPage( page, elements, Model, filter ); + 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 retVal = await Model.findById( req.params.id ); + const id=req.params.id; + const retVal = await generic.getById( id ); res.send( retVal ); }; -module.exports = { getList, findList, getById }; +module.exports = { getList , findList , getById }; diff --git a/src/lib/Handlers/Generic.handler.js b/src/lib/Handlers/Generic.handler.js index 42e3c6a..5c7d9f2 100644 --- a/src/lib/Handlers/Generic.handler.js +++ b/src/lib/Handlers/Generic.handler.js @@ -38,8 +38,14 @@ class GenericHandler{ } async getList( page, elements, filter=null, projection=null ){ - const { query } = await getPageQuery( page , elements, this.Model, filter, projection ); - return await this.populateQuey( query ); + const { query , total, skip } = await getPageQuery( page , elements, this.Model, filter, projection ); + const list = await this.populateQuey( query ); + return { + total : total, + limit : elements, + skip : skip, + data : list + }; } async findList( find_string, page, elements, projection=null ){