flexbiz-server
Version:
Flexible Server
5 lines (4 loc) • 1.61 kB
JavaScript
'use strict';var model=global.getModel("attend");const controller=require("../../controllers/controller"),async=require("async");
module.exports=function($router$$){(new controller($router$$,model,"attend",{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.mapSeries($items$$,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$$||($title_field$$=$field$$)});$fields_m_name$$=$item$$.collection_name;"dmkh"==$fields_m_name$$&&($fields_m_name$$="customer");
"dmtk"==$fields_m_name$$&&($fields_m_name$$="account");"dmnt"==$fields_m_name$$&&($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()};