UNPKG

flexbiz-server

Version:

Flexible Server

5 lines (4 loc) 1.58 kB
const model=global.getModel("follow"),controller=require("../../controllers/controller"),async=require("async"); module.exports=function($router$$){(new controller($router$$,model,"follow",{notNeedRight:!0,onFinding:function($user$$,$condition$$,$next$$,$options$$){if($options$$.req.query.collections)try{var $collections$$=JSON.parse("{"+$options$$.req.query.collections+"}");$options$$.req.query.collections=$collections$$;$condition$$.collection_name={$in:[]};for(let $key$$ in $collections$$)$condition$$.collection_name.$in.push($key$$);$next$$(null,$condition$$)}catch($e$$){$next$$($e$$)}else $next$$(null, $condition$$)},onView:function($user$$,$items$$,$next$$,$options$$){$options$$.req.query.collections?async.mapLimit($items$$,20,function($item$$,$callback$$){var $fields_m_name$$=$options$$.req.query.collections[$item$$.collection_name];if($fields_m_name$$){var $_fields$$={},$title_field$$;$fields_m_name$$.split(",").forEach(function($field$$){$_fields$$[$field$$]=1;$title_field$$||=$field$$});$fields_m_name$$=$item$$.collection_name;$fields_m_name$$=="dmkh"&&($fields_m_name$$="customer");$fields_m_name$$== "dmtk"&&($fields_m_name$$="account");$fields_m_name$$=="dmnt"&&($fields_m_name$$="currency");global.getModel(""+$fields_m_name$$).findOne({_id:$item$$.id_object},$_fields$$).lean().exec(function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$rs$$&&($item$$.obj=$rs$$,$item$$.obj.title=$rs$$[$title_field$$]);$callback$$()})}else $callback$$()},function($e$$){if($e$$)return $next$$($e$$);$next$$(null,$items$$)}):$next$$(null,$items$$)}})).route()};