UNPKG

flexbiz-server

Version:

Flexible Server

6 lines (5 loc) 2.35 kB
const moment=require("moment"),{difference}=require("../libs/utils"),logHandler=($ctrl$$,$req$$,$callback$$)=>{var $name_query$$=$ctrl$$.name,$action_den_ngay$$=$req$$.params.action.toUpperCase();$name_query$$={id_func:$name_query$$,id_app:$req$$.user.current_id_app};$action_den_ngay$$!=="ALL"&&($name_query$$.action=$action_den_ngay$$);if($req$$.query.tu_ngay){var $date_created_tu_ngay$$=moment(new Date($req$$.query.tu_ngay)).startOf("date").toDate();$date_created_tu_ngay$$={$gte:$date_created_tu_ngay$$}}$req$$.query.den_ngay&& ($action_den_ngay$$=moment(new Date($req$$.query.den_ngay)).endOf("date").toDate(),$date_created_tu_ngay$$?$date_created_tu_ngay$$.$lte=$action_den_ngay$$:$date_created_tu_ngay$$={$lte:$action_den_ngay$$});$date_created_tu_ngay$$&&($name_query$$.date_created=$date_created_tu_ngay$$);$req$$.query.user&&($name_query$$.user_created=$req$$.query.user);global.getModel("log").find($name_query$$).lean().then(function($rs$$){setImmediate(async()=>{for(var $log_rows$$ of $rs$$){let $data_changed$$=$log_rows$$.data_changed|| ($log_rows$$.data?difference($log_rows$$.data.newData,$log_rows$$.data.oldData):{});delete $data_changed$$.is_full_data;delete $data_changed$$.collection_name;delete $data_changed$$.date_updated;delete $data_changed$$.user_updated;delete $data_changed$$.approve_data;$log_rows$$.data_changed=$data_changed$$}await $rs$$.asyncJoinModel2($req$$.user.current_id_app,"participant",{where:{user_created:"email"},fields:[{name_user_created:"name"}]});await $rs$$.filter($r$$=>$r$$.data_changed&&($r$$.data_changed.trang_thai|| ($r$$.data_changed.progress||"").toString())).map($r$$=>$r$$.data_changed).asyncJoinModel2($req$$.user.current_id_app,"trangthai",{where:$item$$=>({ma_trang_thai:$item$$.trang_thai||($item$$.progress||"").toString(),ma_ct:($ctrl$$.name||"").toUpperCase()}),fields:[{ten_trang_thai:"ten_trang_thai"}]});$log_rows$$=$rs$$.map($r$$=>$r$$.data?.data).filter($r$$=>$r$$);$ctrl$$.onView($req$$.user,$log_rows$$,$e$$=>{setImmediate(()=>{if($e$$)return Logger.error("[loghandler] log onview",$e$$),$e$$.error? $callback$$($e$$):$callback$$({error:$e$$.message||$e$$});$callback$$(null,$rs$$)})},{req:$req$$})})}).catch($e$$=>{Logger.error("[loghandler] logs query",$e$$);return $e$$.error?$callback$$($e$$):$callback$$({error:$e$$.message||$e$$})})};module.exports=logHandler;