UNPKG

flexbiz-server

Version:

Flexible Server

7 lines (6 loc) 2.27 kB
const handlers=require("../../controllers/handlers"); async function reportHandler($flowState_user$$,$node_send_to$$,$payload$$,$abortSignal$$){const $nodeInstanceId$$=`${$flowState_user$$.instanceId}-${$node_send_to$$.id}`;if($abortSignal$$.aborted)throw Logger.info(`[${$nodeInstanceId$$}] report node aborted before logging.`),new DOMException("Aborted by signal","AbortError");var $code$$=$node_send_to$$.data?.code;if(!$code$$)throw"Ch\u01b0a cung c\u1ea5p m\u00e3 b\u00e1o c\u00e1o";var $app_info_rptInfo$$=await global.getModel("reportinfo").findOne({code:$code$$}); if(!$app_info_rptInfo$$)throw"M\u00e3 b\u00e1o c\u00e1o kh\u00f4ng t\u1ed3n t\u1ea1i";let $ctrl$$=global.report_controllers[($app_info_rptInfo$$.api_code||$code$$).toUpperCase()];if(!$ctrl$$)throw"B\u00e1o c\u00e1o ch\u01b0a \u0111\u01b0\u1ee3c kh\u1edfi t\u1ea1o";$code$$=$flowState_user$$.flowDefinition.id_app;$flowState_user$$=$flowState_user$$.flowDefinition.user_created;$app_info_rptInfo$$=await global.getModel("app").findOne({_id:$code$$}).lean();if(!$app_info_rptInfo$$)throw"C\u00f4ng ty kh\u00f4ng t\u1ed3n t\u1ea1i"; let $condition$$=$node_send_to$$?.data?.condition||{};$payload$$?.condition&&($condition$$={...$condition$$,...$payload$$?.condition});$condition$$.id_app=$code$$;$condition$$.id_rpt=$node_send_to$$?.data?.rpt_id;$node_send_to$$=$payload$$?.send_to||$node_send_to$$?.data?.send_to;Array.isArray($node_send_to$$)&&($node_send_to$$=$node_send_to$$.join(","));$condition$$.send_to=$node_send_to$$;let $req$$={user:{email:$flowState_user$$,current_app_info:$app_info_rptInfo$$,current_id_app:$code$$},query:$condition$$, params:{},headers:{}};return new Promise(($resolve$$,$reject$$)=>{$condition$$.id_rpt?handlers.rptExcelHandler($ctrl$$,$req$$,($e$$,$returnvalue$$)=>{$abortSignal$$.aborted&&(Logger.info(`[${$nodeInstanceId$$}] report node aborted before finish.`),$reject$$(new DOMException("Aborted by signal","AbortError")));if($e$$)return $reject$$($e$$);$resolve$$($returnvalue$$)}):$ctrl$$.getData($req$$,($e$$,$rs$$)=>{$abortSignal$$.aborted&&(Logger.info(`[${$nodeInstanceId$$}] report node aborted before finish.`), $reject$$(new DOMException("Aborted by signal","AbortError")));if($e$$)return $reject$$($e$$);$resolve$$($rs$$)})})}module.exports=reportHandler;