UNPKG

kpiplus

Version:

KPI+

1 lines 810 B
var group=require("../../models/group"),stp=require("stp-utils");module.exports=function(e){e.route("/group").get(function(e,r,u){var i=e.query.id_app,o=e.query.fields;gfields={},o&&o.split(",").forEach(function(e){"_id"!=e&&(gfields[e]=1)});var s={};if(e.query.q)s=stp.parse(e.query.q);else{var t=e.query.k;t&&(s.$or=[],s.$or.push({group_name:{$regex:t,$options:"i"}}),s.$or.push({group_type:{$regex:t,$options:"i"}}))}s.id_app=i,query=group.find(s,gfields);var p=e.query.page,n=e.query.limit;if(n&&(n=Number(n)),p){n||(n=20);var q=(Number(p)-1)*n;query.skip(q).limit(n)}else n&&query.limit(n);var a=e.query.sort;if(a){var f={};a.split(",").forEach(function(e){"_id"!=e&&(f[e]=1)}),query.sort(f)}else query.sort({group_type:1});query.lean().exec(function(e,u){if(e)return r.status(400).send(e);r.send(u)})})};