flexbiz-server
Version:
Flexible Server
10 lines (9 loc) • 4.72 kB
JavaScript
'use strict';const async=require("async"),_=require("lodash"),moment=require("moment"),permission=require("../libs/permission"),utils=require("../libs/utils"),{JSONParser}=require("../libs/utils"),updateBookHanlder=($ctrl$$,$req$$,$mainCallback$$)=>{let $model$$=$ctrl$$.model;async.series([function($callback$$){setImmediate(async()=>{if(!$ctrl$$.post)return $callback$$({error:"Ch\u1ee9c n\u0103ng n\u00e0y kh\u00f4ng c\u00f3 t\u00ednh n\u0103ng post s\u1ed5 s\u00e1ch"});let $condition$$={};for(var $k_ngay_ks_tu_ngay$$ in $req$$.query)if("id_app"!=
$k_ngay_ks_tu_ngay$$&&"access_token"!=$k_ngay_ks_tu_ngay$$)if("_id"==$k_ngay_ks_tu_ngay$$&&global.mongoose.Types.ObjectId.isValid($req$$.query._id))try{let $id$$=global.mongoose.Types.ObjectId($req$$.query._id);$condition$$._id=$id$$}catch($error$$){console.error("postAgain condition",$error$$)}else{if("q"==$k_ngay_ks_tu_ngay$$&&$req$$.query[$k_ngay_ks_tu_ngay$$])try{$condition$$=JSONParser($req$$.query[$k_ngay_ks_tu_ngay$$]);continue}catch($e$$){return console.error("postAgain parse condition",$e$$),
$callback$$($e$$)}if("tu_ngay"==$k_ngay_ks_tu_ngay$$&&!0===_.has($model$$.schema.paths,"ngay_ct")){var $val_val$$=moment($req$$.query.tu_ngay).startOf("date").toDate();$condition$$.ngay_ct?$condition$$.ngay_ct.$gte=$val_val$$:$condition$$.ngay_ct={$gte:$val_val$$}}else"den_ngay"==$k_ngay_ks_tu_ngay$$&&!0===_.has($model$$.schema.paths,"ngay_ct")?($val_val$$=moment($req$$.query.den_ngay).endOf("date").toDate(),$condition$$.ngay_ct?$condition$$.ngay_ct.$lte=$val_val$$:$condition$$.ngay_ct={$lte:$val_val$$}):
!0===_.has($model$$.schema.paths,$k_ngay_ks_tu_ngay$$)&&($condition$$[$k_ngay_ks_tu_ngay$$]=$req$$.query[$k_ngay_ks_tu_ngay$$])}!0===_.has($model$$.schema.paths,"id_app")&&($condition$$.id_app=$req$$.user.current_id_app);if(_.has($model$$.schema.paths,"ngay_ct")){if(!$condition$$.ngay_ct)return $callback$$({error:"B\u1ea1n ch\u01b0a nh\u1eadp \u0111i\u1ec1u ki\u1ec7n cho ng\u00e0y ch\u1ee9ng t\u1eeb"});$k_ngay_ks_tu_ngay$$=$condition$$.ngay_ct.$lte||$condition$$.ngay_ct.$lt;if(!$k_ngay_ks_tu_ngay$$)return $callback$$({error:"\u0110i\u1ec1u ki\u1ec7n ng\u00e0y ch\u1ee9ng t\u1eeb kh\u00f4ng h\u1ee3p l\u1ec7"});
$k_ngay_ks_tu_ngay$$=new Date($k_ngay_ks_tu_ngay$$);if($k_ngay_ks_tu_ngay$$=await utils.isBookLocked({id_app:$req$$.user.current_id_app,ngay_ct:$k_ngay_ks_tu_ngay$$}))return $callback$$({error:`\u0110\u00e3 kh\u00f3a s\u1ed5 \u0111\u1ebfn h\u1ebft ng\u00e0y ${moment($k_ngay_ks_tu_ngay$$).format("DD/MM/YYYY")}`})}$ctrl$$.finding?$ctrl$$.finding($req$$.user,$condition$$,function($e$jscomp$0$$,$condition$jscomp$0$$){setImmediate(()=>{if($e$jscomp$0$$)return console.error("postAgain finding",$e$jscomp$0$$),
$callback$$({error:$e$jscomp$0$$.message||$e$jscomp$0$$.error||$e$jscomp$0$$});$ctrl$$.dynamicFinding?$ctrl$$.dynamicFinding($req$$.user,$condition$jscomp$0$$,function($e$$,$condition$$){if($e$$)return console.error("postAgain dynamicFinding",$e$$),$callback$$({error:$e$$.message||$e$$.error||$e$$});$req$$.condition=$condition$$;$callback$$()},{req:$req$$}):($req$$.condition=$condition$jscomp$0$$,$callback$$())})},{req:$req$$}):$ctrl$$.dynamicFinding?$ctrl$$.dynamicFinding($req$$.user,$condition$$,
function($e$$,$condition$$){if($e$$)return console.error("postAgain dynamicFinding",$e$$),$callback$$({error:$e$$.message||$e$$.error||$e$$});$req$$.condition=$condition$$;$callback$$()},{req:$req$$}):($req$$.condition=$condition$$,$callback$$())})},function($callback$$){permission.isAdmin($req$$.user.current_id_app,$req$$.user.email,function($e$$,$admin$$){setImmediate(()=>{if($e$$)return $callback$$({error:$e$$.error||$e$$,code:$e$$.code});if(!$admin$$)return $callback$$({error:"B\u1ea1n ph\u1ea3i c\u00f3 quy\u1ec1n admin \u0111\u1ec3 th\u1ef1c hi\u1ec7n t\u00ednh n\u0103ng n\u00e0y"});
$callback$$()})})},function($callback$$){const $condition$$=$req$$.condition;_.has($model$$.schema.paths,"ma_ct")&&$ctrl$$.options.isVoucher&&($condition$$.ma_ct=$ctrl$$.name.toUpperCase());let $data_log$$={...$req$$.query};delete $data_log$$.access_token;$req$$.user&&"log"!==$ctrl$$.name&&"labelinfo"!==$ctrl$$.name&&"listinfo"!==$ctrl$$.name&&"reportinfo"!==$ctrl$$.name&&"moduleinfo"!==$ctrl$$.name&&"options"!==$ctrl$$.name&&global.getModel("log").create({id_app:$req$$.user.current_id_app,id_func:$ctrl$$.name,
action:"POSTAGAIN",data:{condition:JSON.stringify($data_log$$)}},$req$$.user.email,$req$$.user_agent,$req$$);$ctrl$$.postAgainHandler($req$$.user,$condition$$,($e$$,$rs$$)=>{if($e$$)return $callback$$({error:$e$$.message||$e$$.error||$e$$});$req$$.result=$rs$$;$callback$$()},{req:$req$$})}],$e$$=>{if($e$$)return $mainCallback$$($e$$);$mainCallback$$(null,$req$$.result)})};module.exports=updateBookHanlder;