feat: Generalize public endpoints
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
const { ROOT_PATH, LIB_PATH, MODELS_PATH, HANDLERS_PATH } = process.env;
|
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 { GenericHandler } = require( `${ROOT_PATH}/${HANDLERS_PATH}/Generic.handler.js` );
|
||||||
const Model = require( `${ROOT_PATH}/${MODELS_PATH}/cities.model.js` );
|
const Model = require( `${ROOT_PATH}/${MODELS_PATH}/cities.model.js` );
|
||||||
|
|
||||||
|
|||||||
@@ -1,28 +1,33 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
const { ROOT_PATH, LIB_PATH, MODELS_PATH, HANDLERS_PATH } = process.env;
|
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 Model = require( `${ROOT_PATH}/${MODELS_PATH}/countries.model.js` );
|
||||||
|
|
||||||
|
const generic = new GenericHandler( Model, "country_name" );
|
||||||
|
|
||||||
const getList = async(req, res) => {
|
const getList = async(req, res) => {
|
||||||
const { page , elements } = getPagination( req.query );
|
const { page , elements } = getPagination( req.query );
|
||||||
const retVal = await getPage( page , elements, Model );
|
const retVal = await generic.getList(page , elements);
|
||||||
res.send( retVal );
|
res.send( retVal );
|
||||||
};
|
};
|
||||||
|
|
||||||
const findList = async(req, res) => {
|
const findList = async(req, res) => {
|
||||||
let filter=null;
|
const findString = req.query.regex || null;
|
||||||
if( req.query.regex ){
|
|
||||||
const re = new RegExp( req.query.regex );
|
|
||||||
filter = { "country_name" : { $regex: re, $options: 'i' }};
|
|
||||||
}
|
|
||||||
const { page , elements } = getPagination( req.query );
|
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 );
|
res.send( retVal );
|
||||||
};
|
};
|
||||||
|
|
||||||
const getById = async(req, res) => {
|
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 );
|
res.send( retVal );
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = { getList, findList, getById };
|
module.exports = { getList , findList , getById };
|
||||||
|
|||||||
@@ -1,28 +1,33 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
const { ROOT_PATH, LIB_PATH, MODELS_PATH, HANDLERS_PATH } = process.env;
|
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 Model = require( `${ROOT_PATH}/${MODELS_PATH}/meta-data.model.js` );
|
||||||
|
|
||||||
|
const generic = new GenericHandler( Model, "meta_value" );
|
||||||
|
|
||||||
const getList = async(req, res) => {
|
const getList = async(req, res) => {
|
||||||
const { page , elements } = getPagination( req.query );
|
const { page , elements } = getPagination( req.query );
|
||||||
const retVal = await getPage( page , elements, Model );
|
const retVal = await generic.getList(page , elements);
|
||||||
res.send( retVal );
|
res.send( retVal );
|
||||||
};
|
};
|
||||||
|
|
||||||
const findList = async(req, res) => {
|
const findList = async(req, res) => {
|
||||||
let filter=null;
|
const findString = req.query.regex || null;
|
||||||
if( req.query.regex ){
|
|
||||||
const re = new RegExp( req.query.regex );
|
|
||||||
filter = { "meta_value" : { $regex: re, $options: 'i' }};
|
|
||||||
}
|
|
||||||
const { page , elements } = getPagination( req.query );
|
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 );
|
res.send( retVal );
|
||||||
};
|
};
|
||||||
|
|
||||||
const getById = async(req, res) => {
|
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 );
|
res.send( retVal );
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = { getList, findList, getById };
|
module.exports = { getList , findList , getById };
|
||||||
|
|||||||
@@ -1,28 +1,33 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
const { ROOT_PATH, LIB_PATH, MODELS_PATH, HANDLERS_PATH } = process.env;
|
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 Model = require( `${ROOT_PATH}/${MODELS_PATH}/meta-groups.model.js` );
|
||||||
|
|
||||||
|
const generic = new GenericHandler( Model, "group_label" );
|
||||||
|
|
||||||
const getList = async(req, res) => {
|
const getList = async(req, res) => {
|
||||||
const { page , elements } = getPagination( req.query );
|
const { page , elements } = getPagination( req.query );
|
||||||
const retVal = await getPage( page , elements, Model );
|
const retVal = await generic.getList(page , elements);
|
||||||
res.send( retVal );
|
res.send( retVal );
|
||||||
};
|
};
|
||||||
|
|
||||||
const findList = async(req, res) => {
|
const findList = async(req, res) => {
|
||||||
let filter=null;
|
const findString = req.query.regex || null;
|
||||||
if( req.query.regex ){
|
|
||||||
const re = new RegExp( req.query.regex );
|
|
||||||
filter = { "group_label" : { $regex: re, $options: 'i' }};
|
|
||||||
}
|
|
||||||
const { page , elements } = getPagination( req.query );
|
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 );
|
res.send( retVal );
|
||||||
};
|
};
|
||||||
|
|
||||||
const getById = async(req, res) => {
|
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 );
|
res.send( retVal );
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = { getList, findList, getById };
|
module.exports = { getList , findList , getById };
|
||||||
|
|||||||
@@ -1,28 +1,33 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
const { ROOT_PATH, LIB_PATH, MODELS_PATH, HANDLERS_PATH } = process.env;
|
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 Model = require( `${ROOT_PATH}/${MODELS_PATH}/product-categories.model.js` );
|
||||||
|
|
||||||
|
const generic = new GenericHandler( Model, "name" );
|
||||||
|
|
||||||
const getList = async(req, res) => {
|
const getList = async(req, res) => {
|
||||||
const { page , elements } = getPagination( req.query );
|
const { page , elements } = getPagination( req.query );
|
||||||
const retVal = await getPage( page , elements, Model );
|
const retVal = await generic.getList(page , elements);
|
||||||
res.send( retVal );
|
res.send( retVal );
|
||||||
};
|
};
|
||||||
|
|
||||||
const findList = async(req, res) => {
|
const findList = async(req, res) => {
|
||||||
let filter=null;
|
const findString = req.query.regex || null;
|
||||||
if( req.query.regex ){
|
|
||||||
const re = new RegExp( req.query.regex );
|
|
||||||
filter = { "name" : { $regex: re, $options: 'i' }};
|
|
||||||
}
|
|
||||||
const { page , elements } = getPagination( req.query );
|
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 );
|
res.send( retVal );
|
||||||
};
|
};
|
||||||
|
|
||||||
const getById = async(req, res) => {
|
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 );
|
res.send( retVal );
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = { getList, findList, getById };
|
module.exports = { getList , findList , getById };
|
||||||
|
|||||||
@@ -1,28 +1,33 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
const { ROOT_PATH, LIB_PATH, MODELS_PATH, HANDLERS_PATH } = process.env;
|
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 Model = require( `${ROOT_PATH}/${MODELS_PATH}/products.model.js` );
|
||||||
|
|
||||||
|
const generic = new GenericHandler( Model, "name" );
|
||||||
|
|
||||||
const getList = async(req, res) => {
|
const getList = async(req, res) => {
|
||||||
const { page , elements } = getPagination( req.query );
|
const { page , elements } = getPagination( req.query );
|
||||||
const retVal = await getPage( page , elements, Model );
|
const retVal = await generic.getList(page , elements);
|
||||||
res.send( retVal );
|
res.send( retVal );
|
||||||
};
|
};
|
||||||
|
|
||||||
const findList = async(req, res) => {
|
const findList = async(req, res) => {
|
||||||
let filter=null;
|
const findString = req.query.regex || null;
|
||||||
if( req.query.regex ){
|
|
||||||
const re = new RegExp( req.query.regex );
|
|
||||||
filter = { "name" : { $regex: re, $options: 'i' }};
|
|
||||||
}
|
|
||||||
const { page , elements } = getPagination( req.query );
|
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 );
|
res.send( retVal );
|
||||||
};
|
};
|
||||||
|
|
||||||
const getById = async(req, res) => {
|
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 );
|
res.send( retVal );
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = { getList, findList, getById };
|
module.exports = { getList , findList , getById };
|
||||||
|
|||||||
@@ -1,28 +1,33 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
const { ROOT_PATH, LIB_PATH, MODELS_PATH, HANDLERS_PATH } = process.env;
|
const { ROOT_PATH, LIB_PATH, MODELS_PATH, HANDLERS_PATH } = process.env;
|
||||||
const { getPagination , getPage } = require( `${ROOT_PATH}/${LIB_PATH}/Misc.js` );
|
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 Model = require( `${ROOT_PATH}/${MODELS_PATH}/states.model.js` );
|
||||||
|
|
||||||
|
const generic = new GenericHandler( Model, "state_name" );
|
||||||
|
|
||||||
const getList = async(req, res) => {
|
const getList = async(req, res) => {
|
||||||
const { page , elements } = getPagination( req.query );
|
const { page , elements } = getPagination( req.query );
|
||||||
const retVal = await getPage( page , elements, Model );
|
const retVal = await generic.getList(page , elements);
|
||||||
res.send( retVal );
|
res.send( retVal );
|
||||||
};
|
};
|
||||||
|
|
||||||
const findList = async(req, res) => {
|
const findList = async(req, res) => {
|
||||||
let filter=null;
|
const findString = req.query.regex || null;
|
||||||
if( req.query.regex ){
|
|
||||||
const re = new RegExp( req.query.regex );
|
|
||||||
filter = { "state_name" : { $regex: re, $options: 'i' }};
|
|
||||||
}
|
|
||||||
const { page , elements } = getPagination( req.query );
|
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 );
|
res.send( retVal );
|
||||||
};
|
};
|
||||||
|
|
||||||
const getById = async(req, res) => {
|
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 );
|
res.send( retVal );
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = { getList, findList, getById };
|
module.exports = { getList , findList , getById };
|
||||||
|
|||||||
@@ -38,8 +38,14 @@ class GenericHandler{
|
|||||||
}
|
}
|
||||||
|
|
||||||
async getList( page, elements, filter=null, projection=null ){
|
async getList( page, elements, filter=null, projection=null ){
|
||||||
const { query } = await getPageQuery( page , elements, this.Model, filter, projection );
|
const { query , total, skip } = await getPageQuery( page , elements, this.Model, filter, projection );
|
||||||
return await this.populateQuey( query );
|
const list = await this.populateQuey( query );
|
||||||
|
return {
|
||||||
|
total : total,
|
||||||
|
limit : elements,
|
||||||
|
skip : skip,
|
||||||
|
data : list
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
async findList( find_string, page, elements, projection=null ){
|
async findList( find_string, page, elements, projection=null ){
|
||||||
|
|||||||
Reference in New Issue
Block a user