flexbiz-server
Version:
Flexible Server
5 lines (4 loc) • 1.5 kB
JavaScript
'use strict';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$$){"_id"!=$f$$&&($gfields$$[$f$$]=1)});$condition_fields_page$$={};if($req_sort$$.query.q)$condition_fields_page$$=JSON.parse($req_sort$$.query.q);else if($k_limit$$=$req_sort$$.query.k)$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;var $k_limit$$=$req_sort$$.query.limit;$k_limit$$&&($k_limit$$=Number($k_limit$$));$condition_fields_page$$?($k_limit$$||($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$$){"_id"!=$f$$&&($gsort$$[$f$$]=1)});$id_app_query$$.sort($gsort$$)}else $id_app_query$$.sort({group_type:1});$id_app_query$$.lean().exec(function($error$$,$result$$){if($error$$)return $res$$.status(400).send($error$$);$res$$.send($result$$)})})};