"use strict"; function getPagination( query ){ let limit = { page : 0, elements : 10 }; if( query.page ){ limit.page = parseInt( query.page ) || 0; } if( query.elements ){ limit.elements = parseInt( query.elements ) || 10; /** Safe pagination limit */ if( limit.elements > 1000 ){ limit.elements = 1000; } } return limit; } async function queryPage( page , elements , model ){ const skip = elements * page; const total = await model.count(); const list = await model.find( null , null, { skip : skip , limit : elements } ); return { total : total, limit : elements, skip : skip, data : list } } module.exports = { getPagination , queryPage };