flexbiz-server
Version:
Flexible Server
5 lines (4 loc) • 1.47 kB
JavaScript
const group=global.getModel("group");
module.exports=function($router$$){$router$$.route("/group").get(function($req_sort$$,$res$$){var $id_app_query$$=$req_sort$$.query.id_app,$condition_fields_page$$=$req_sort$$.query.fields;const $gfields$$={};$condition_fields_page$$&&$condition_fields_page$$.split(",").forEach(function($f$$){$f$$!="_id"&&($gfields$$[$f$$]=1)});$condition_fields_page$$={};if($req_sort$$.query.q)$condition_fields_page$$=JSON.parse($req_sort$$.query.q);else{var $k_limit$$=$req_sort$$.query.k;$k_limit$$&&($condition_fields_page$$.$or=
[],$condition_fields_page$$.$or.push({group_name:{$regex:$k_limit$$,$options:"i"}}),$condition_fields_page$$.$or.push({group_type:{$regex:$k_limit$$,$options:"i"}}))}$condition_fields_page$$.id_app=$id_app_query$$;$id_app_query$$=group.find($condition_fields_page$$,$gfields$$);$condition_fields_page$$=$req_sort$$.query.page;($k_limit$$=$req_sort$$.query.limit)&&($k_limit$$=Number($k_limit$$));$condition_fields_page$$?($k_limit$$||=20,$id_app_query$$.skip((Number($condition_fields_page$$)-1)*$k_limit$$).limit($k_limit$$)):
$k_limit$$&&$id_app_query$$.limit($k_limit$$);if($req_sort$$=$req_sort$$.query.sort){const $gsort$$={};$req_sort$$.split(",").forEach(function($f$$){$f$$!="_id"&&($gsort$$[$f$$]=1)});$id_app_query$$.sort($gsort$$)}else $id_app_query$$.sort({group_type:1});$id_app_query$$.lean().then(function($result$$){$res$$.send($result$$)}).catch($e$$=>{$res$$.status(400).send($e$$)})})};