flexbiz-server 12.3.2 → 12.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -3
- package/server/app.js +4 -4
- package/server/cluster.js +2 -2
- package/server/controllers/controller.js +109 -107
- package/server/data/account.js +479 -0
- package/server/data/ckgtluong.js +65 -0
- package/server/data/currency.js +4 -0
- package/server/data/dmdvt.js +54 -0
- package/server/data/dmkho.js +3 -0
- package/server/data/dvcs.js +3 -0
- package/server/data/kbm_bcdkt.js +4843 -0
- package/server/data/kbm_kqhdkd.js +655 -0
- package/server/data/kbm_lcttgt.js +2386 -0
- package/server/data/kbm_lctttt.js +934 -0
- package/server/data/kbm_tkgtgt.js +560 -0
- package/server/data/parameter.js +178 -0
- package/server/data/ptthanhtoan.js +3 -0
- package/server/data/rpt.js +123 -0
- package/server/data/rptobject.js +2 -0
- package/server/data/sys/labelinfo.js +2 -0
- package/server/data/sys/listinfo.js +225430 -0
- package/server/data/sys/menuinfo.js +1 -0
- package/server/data/sys/moduleinfo.js +523 -0
- package/server/data/sys/quanhuyen.js +9928 -0
- package/server/data/sys/reportinfo.js +14045 -0
- package/server/data/sys/tableinfo.js +5873 -0
- package/server/data/sys/templatestore.js +1988 -0
- package/server/data/sys/tinhthanh.js +821 -0
- package/server/data/sys/trangthai.js +12301 -0
- package/server/data/sys/user.js +21 -0
- package/server/data/sys/vietqrbanks.js +1 -0
- package/server/data/tc.js +5 -0
- package/server/data/usergroup.js +47 -0
- package/server/data/vat.js +115 -0
- package/server/global.js +1 -1
- package/server/libs/databanle.js +12 -9
- package/server/libs/databanletheongay.js +1 -1
- package/server/libs/docs.js +304 -0
- package/server/libs/dtbanletheosp.js +2 -2
- package/server/libs/getGiaban.js +57 -53
- package/server/libs/htmlReport.js +6 -6
- package/server/libs/mongooseDeletePost.js +4 -3
- package/server/libs/permission.js +25 -20
- package/server/libs/post-socai.js +6 -5
- package/server/libs/post-sokho.js +1 -1
- package/server/libs/tuoinophaithu.js +10 -10
- package/server/libs/tuoinophaitra.js +11 -9
- package/server/libs/utils.js +29 -5
- package/server/libs/validator.js +3 -2
- package/server/models/app.js +4 -3
- package/server/models/bds_area.js +2 -2
- package/server/models/bds_block.js +2 -2
- package/server/models/bds_building.js +3 -3
- package/server/models/bds_floor.js +2 -2
- package/server/models/bds_floordetail.js +3 -3
- package/server/models/bds_nhadat.js +6 -4
- package/server/models/bds_nhomnhadat.js +3 -0
- package/server/models/bds_phanloainhadat.js +2 -0
- package/server/models/customer.js +5 -5
- package/server/models/dh2.js +5 -5
- package/server/models/ecomproductlines.js +2 -0
- package/server/models/hd2.js +17 -15
- package/server/models/hd4.js +12 -0
- package/server/models/listinfo.js +12 -1
- package/server/models/moduleinfo.js +3 -3
- package/server/models/pn3.js +4 -4
- package/server/models/so9.js +7 -7
- package/server/models/tdttco.js +9 -8
- package/server/models/tdttco_tt.js +1 -1
- package/server/models/tdttno.js +9 -8
- package/server/models/tdttno_tt.js +2 -2
- package/server/models/user.js +7 -7
- package/server/models/vatra.js +5 -5
- package/server/models/vatvao.js +5 -5
- package/server/modules/lists/bg-cddiem.js +6 -7
- package/server/modules/lists/bg-cddt.js +7 -8
- package/server/modules/lists/bg-cdkh.js +11 -10
- package/server/modules/lists/bg-cdnphep.js +6 -7
- package/server/modules/lists/bg-cdtk.js +9 -9
- package/server/modules/lists/bg-cdvt.js +8 -9
- package/server/modules/lists/bg-cdvtnpp.js +7 -8
- package/server/modules/lists/ls-account.js +4 -4
- package/server/modules/lists/ls-afflink.js +2 -2
- package/server/modules/lists/ls-bds_area.js +4 -3
- package/server/modules/lists/ls-bds_block.js +1 -1
- package/server/modules/lists/ls-bds_building.js +2 -2
- package/server/modules/lists/ls-bds_floor.js +2 -2
- package/server/modules/lists/ls-bds_floordetail.js +18 -18
- package/server/modules/lists/ls-bds_nhadat.js +16 -7
- package/server/modules/lists/ls-bds_nhomnhadat.js +1 -0
- package/server/modules/lists/ls-bds_phanloainhadat.js +1 -0
- package/server/modules/lists/ls-currency.js +1 -1
- package/server/modules/lists/ls-dknphep.js +1 -1
- package/server/modules/lists/ls-dmban.js +3 -3
- package/server/modules/lists/ls-dmca.js +1 -1
- package/server/modules/lists/ls-dmchucvu.js +2 -1
- package/server/modules/lists/ls-dmcpmh.js +1 -1
- package/server/modules/lists/ls-dmdvt.js +1 -1
- package/server/modules/lists/ls-dmhoahonghd.js +2 -1
- package/server/modules/lists/ls-dmhoahongnpp.js +2 -1
- package/server/modules/lists/ls-dmkhuyenmai.js +4 -4
- package/server/modules/lists/ls-dmkhuyenmaihd.js +2 -2
- package/server/modules/lists/ls-dmletet.js +1 -1
- package/server/modules/lists/ls-dmloaicong.js +1 -1
- package/server/modules/lists/ls-dmloaits.js +1 -1
- package/server/modules/lists/ls-dmnckkm.js +5 -5
- package/server/modules/lists/ls-dmnghiepvu.js +1 -1
- package/server/modules/lists/ls-dmnguonvon.js +1 -1
- package/server/modules/lists/ls-dmnhnv.js +5 -5
- package/server/modules/lists/ls-dmnhtask.js +5 -5
- package/server/modules/lists/ls-dmnkh.js +5 -5
- package/server/modules/lists/ls-dmntt.js +5 -5
- package/server/modules/lists/ls-dmnvt.js +4 -4
- package/server/modules/lists/ls-dmqddvt.js +2 -2
- package/server/modules/lists/ls-dmtanggiamts.js +1 -1
- package/server/modules/lists/ls-dmvt.js +20 -19
- package/server/modules/lists/ls-dvcs.js +1 -1
- package/server/modules/lists/ls-fbpage.js +1 -1
- package/server/modules/lists/ls-hlink.js +1 -1
- package/server/modules/lists/ls-hlinkvalue.js +1 -1
- package/server/modules/lists/ls-hmcn.js +2 -2
- package/server/modules/lists/ls-kbm-bcdkt.js +1 -1
- package/server/modules/lists/ls-kbm-bcqt.js +4 -4
- package/server/modules/lists/ls-kbm-kqhdkd.js +1 -1
- package/server/modules/lists/ls-kbm-lcttgt.js +1 -1
- package/server/modules/lists/ls-kbm-lctttt.js +1 -1
- package/server/modules/lists/ls-kbm-pttct.js +2 -2
- package/server/modules/lists/ls-kbm-tkgtgt.js +2 -1
- package/server/modules/lists/ls-kbm-tmbctc.js +2 -2
- package/server/modules/lists/ls-label.js +1 -1
- package/server/modules/lists/ls-like-module.js +2 -2
- package/server/modules/lists/ls-newsfeed.js +3 -3
- package/server/modules/lists/ls-participant.js +3 -3
- package/server/modules/lists/ls-ptthanhtoan.js +2 -2
- package/server/modules/lists/ls-rpt.js +4 -4
- package/server/modules/lists/ls-rptform.js +4 -4
- package/server/modules/lists/ls-tc.js +1 -1
- package/server/modules/lists/ls-templaterpt.js +4 -3
- package/server/modules/lists/ls-templatevoucher.js +1 -1
- package/server/modules/lists/ls-vat.js +1 -1
- package/server/modules/lists/ls-vatra.js +5 -0
- package/server/modules/lists/ls-vatvao.js +5 -0
- package/server/modules/reports/calc-tinhgiatb.js +6 -6
- package/server/modules/reports/calc-tinhgiathanh.js +6 -7
- package/server/modules/reports/calc-tinhkhauhaots.js +3 -4
- package/server/modules/reports/calc-tinhluong.js +17 -17
- package/server/modules/reports/rp-congnophaithutheotuoino.js +2 -2
- package/server/modules/reports/rp-congnophaitratheotuoino.js +2 -2
- package/server/modules/reports/rp-congnosapthu.js +4 -0
- package/server/modules/reports/rp-congnosaptra.js +4 -0
- package/server/modules/reports/rp-congviectheotimeline.js +2 -1
- package/server/modules/reports/rp-dtbanletheoct.js +15 -15
- package/server/modules/reports/rp-dtbanletheokh.js +5 -5
- package/server/modules/reports/rp-dtbanletheokho.js +1 -1
- package/server/modules/reports/rp-dtbanletheonv.js +3 -3
- package/server/modules/reports/rp-kcsns.js +16 -16
- package/server/modules/reports/rp-tongquancongty.js +3 -0
- package/server/modules/systems/sys-ecomproductlines.js +1 -0
- package/server/modules/vouchers/vo-dh2.js +25 -24
- package/server/modules/vouchers/vo-hd1.js +18 -18
- package/server/modules/vouchers/vo-hd2.js +12 -6
- package/server/modules/vouchers/vo-hd3.js +37 -33
- package/server/modules/vouchers/vo-hd4.js +15 -0
- package/server/modules/vouchers/vo-pn3.js +5 -4
- package/server/modules/vouchers/vo-pn5.js +18 -13
- package/server/route.js +6 -4
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';const EventEmitter=require("events").EventEmitter,underscore=require("underscore"),_=require("lodash"),excelReport=require("excel-report"),validate=require("../libs/validate"),ckvt=require("../libs/ckvt"),vsocai=global.getModel("vsocai"),Socai=global.getModel("socai"),OptionsModel=global.getModel("options"),Approve=global.getModel("approve"),rpt=global.getModel("rpt"),log=global.getModel("log"),trangthai=global.getModel("trangthai"),app=global.getModel("app"),Participant=global.getModel("participant"),
|
|
2
|
-
dmqct=global.getModel("dmqct"),counter=global.getModel("counter"),async=require("async"),excel=require("../libs/excel"),permission=require("../libs/permission"),fs=require("fs"),link=global.getModel("link"),Moment=require("moment-timezone"),moment=$time$$=>Moment.tz($time$$,configs.timezone||"Asia/Ho_Chi_Minh"),numeral=require("numeral"),Parameter=global.getModel("parameter"),templatevoucher=global.getModel("templatevoucher"),dvcs=global.getModel("dvcs"),{numberToWord,
|
|
3
|
-
JSONParser}=require("../libs/utils"),redisCache=require("../libs/redis-cache"),path=require("path"),htmlReport=require("../libs/htmlReport"),User=global.getModel("user"),textReport=require("../libs/textReport"),dmqddvt=global.getModel("dmqddvt"),StaticPool=require("../libs/WorkerStaticPool"),ERR_NOT_FOUND="ERR_NOT_FOUND: \u0110\u1ed1i t\u01b0\u1ee3ng n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i",ERR_NOT_FOUND_CODE=1100,ERR_NOT_PERMIT="ERR_NOT_PERMIT: Kh\u00f4ng c\u00f3 quy\u1ec1n th\u1ef1c hi\u1ec7n t\u00e1c v\u1ee5 n\u00e0y",
|
|
2
|
+
dmqct=global.getModel("dmqct"),counter=global.getModel("counter"),async=require("async"),excel=require("../libs/excel"),permission=require("../libs/permission"),utils=require("../libs/utils"),fs=require("fs"),link=global.getModel("link"),Moment=require("moment-timezone"),moment=$time$$=>Moment.tz($time$$,configs.timezone||"Asia/Ho_Chi_Minh"),numeral=require("numeral"),Parameter=global.getModel("parameter"),templatevoucher=global.getModel("templatevoucher"),dvcs=global.getModel("dvcs"),{numberToWord,
|
|
3
|
+
stripHtmlTags,compileHtml,evalute,JSONParser}=require("../libs/utils"),redisCache=require("../libs/redis-cache"),path=require("path"),htmlReport=require("../libs/htmlReport"),User=global.getModel("user"),textReport=require("../libs/textReport"),dmqddvt=global.getModel("dmqddvt"),StaticPool=require("../libs/WorkerStaticPool"),ERR_NOT_FOUND="ERR_NOT_FOUND: \u0110\u1ed1i t\u01b0\u1ee3ng n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i",ERR_NOT_FOUND_CODE=1100,ERR_NOT_PERMIT="ERR_NOT_PERMIT: Kh\u00f4ng c\u00f3 quy\u1ec1n th\u1ef1c hi\u1ec7n t\u00e1c v\u1ee5 n\u00e0y",
|
|
4
4
|
ERR_NOT_PERMIT_CODE=1200,ERR_ALREADY_EXIST="ERR_ALREADY_EXIST: \u0110\u1ed1i t\u01b0\u1ee3ng n\u00e0y \u0111\u00e3 t\u1ed3n t\u1ea1i",ERR_ALREADY_EXIST_CODE=1300,ERR_NOT_HAVE_DATA="ERR_NOT_HAVE_DATA: Kh\u00f4ng c\u00f3 d\u1eef li\u1ec7u",ERR_NOT_HAVE_DATA_CODE=1400,ERR_CAN_NOT_UPDATE="ERR_CAN_NOT_UPDATE: Kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y",ERR_CAN_NOT_UPDATE_CODE=1500,ERR_DATA_GENERATED="ERR_DATA_GENERATED: \u0110\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u li\u00ean quan",
|
|
5
5
|
ERR_DATA_GENERATED_CODE=1600,ERR_ID_INVALID="ERR_ID_INVALID: Id kh\u00f4ng h\u1ee3p l\u1ec7",ERR_ID_INVALID_CODE=1700,ERR_KEY_ARISE="ERR_KEY_ARISE_DATA: ",ERR_KEY_ARISE_CODE=1800,ERR_ARISE="ERR_ARISE_DATA: ",ERR_ARISE_CODE=1900,ERR_VERIFY_OTP=4001,BOOK_LOCK=4444,fields_sync_master_detail=["ma_ct","so_ct","ngay_ct"],validator=require("../libs/validator");
|
|
6
6
|
function deleteEmptyArray($condition$$,$key$$){$condition$$&&$condition$$[$key$$]&&_.isArray($condition$$[$key$$])&&(0===$condition$$[$key$$].length?delete $condition$$[$key$$]:($condition$$[$key$$].forEach($item$$=>{deleteEmptyArray($item$$,"$and");deleteEmptyArray($item$$,"$or");deleteEmptyArray($item$$,"$nor")}),0===$condition$$[$key$$].length&&delete $condition$$[$key$$]))}
|
|
@@ -47,7 +47,7 @@ $title$$;try{$title$$=evalute($ds_nguoi_duyet_str_func$$,{master:$obj$$,data:$ob
|
|
|
47
47
|
evalute($str_func$$,{master:$obj$$,data:$obj$$,preRequest:$preRequest$$});if(!_.isArray($ds_nguoi_duyet_str_func$$)){console.error("danh s\u00e1ch ng\u01b0\u1eddi duy\u1ec7t ph\u1ea3i l\u00e0 m\u1ed9t m\u1ea3ng, hi\u1ec7n t\u1ea1i \u0111ang l\u00e0",$ds_nguoi_duyet_str_func$$);return}}catch($e$$){console.error("request approve",$e$$,$ds_nguoi_duyet_str_func$$);return}if($approveData$$.approve_users_custom)try{let $str_func$$=$approveData$$.approve_users_custom;0>$str_func$$.indexOf("return ")&&($str_func$$=
|
|
48
48
|
`return ${$str_func$$}`);let $ds_nguoi_duyet_custom$$=evalute($str_func$$,{master:$obj$$,data:$obj$$,preRequest:$preRequest$$});$ds_nguoi_duyet_custom$$&&(_.isArray($ds_nguoi_duyet_custom$$)?$ds_nguoi_duyet_str_func$$=[...$ds_nguoi_duyet_str_func$$,...$ds_nguoi_duyet_custom$$]:console.error("danh s\u00e1ch ng\u01b0\u1eddi duy\u1ec7t ph\u1ea3i l\u00e0 m\u1ed9t m\u1ea3ng, hi\u1ec7n t\u1ea1i \u0111ang l\u00e0",$ds_nguoi_duyet_custom$$))}catch($e$$){console.error("request approve",$e$$,$approveData$$.approve_users_custom)}if($ds_nguoi_duyet_str_func$$&&
|
|
49
49
|
0!==$ds_nguoi_duyet_str_func$$.length&&($ds_nguoi_duyet_str_func$$=[...(new Set($ds_nguoi_duyet_str_func$$))],$obj$$.trang_thai==$approveData$$.trang_thai)){let $user_approves$$=$ds_nguoi_duyet_str_func$$.map($nguoi_duyet$$=>({email:$nguoi_duyet$$,name:$nguoi_duyet$$}));$user_approves$$.joinModel2($obj$$.id_app,Participant,{where:"email",fields:"name"},()=>{[$user_request$$].joinModel2($obj$$.id_app,Participant,{where:"email",fields:"name"},()=>{Approve.request($user_request$$,$user_approves$$,$title$$,
|
|
50
|
-
$obj$$,$e$$=>{$e$$&&console.error("error create request approve:",$e$$.message||$e$$)},$update_after_approve$$,$approveData$$.template_content,$update_after_deny$$)})})}})});$next$$(null,$obj$$)}async import($user$$,$id_app$$,$data$$,$
|
|
50
|
+
$obj$$,$e$$=>{$e$$&&console.error("error create request approve:",$e$$.message||$e$$)},$update_after_approve$$,$approveData$$.template_content,$update_after_deny$$)})})}})});$next$$(null,$obj$$)}async import($user$$,$id_app$$,$data$$,$callback_main$$,$options$$={replace:!0,req:null}){const $ctrl$$=this,$model$$=$ctrl$$.model;let $replace$$=$options$$.replace,$rows_error$$=[];const $listInfo$$=global.getModel("listinfo");let $info$$=await $listInfo$$.findOne({code:$ctrl$$.name.toLowerCase()}).lean(),
|
|
51
51
|
$modelJoins$$=[];$info$$&&(await $listInfo$$.updateModel($info$$,$ctrl$$.model),$modelJoins$$=($info$$.fields||[]).filter($f$$=>$f$$.ref_model&&"_id"==$f$$.ref_field));$data$$=$data$$.filter($row$$=>{let $has_data$$=!1;for(let $key$$ in $row$$)if($row$$[$key$$]){$has_data$$=!0;break}return $has_data$$});$data$$.forEach($r$$=>{delete $r$$.ten_dvcs;global.mongoose.Types.ObjectId.isValid($r$$._id)&&delete $r$$._id});await $data$$.filter($r$$=>$r$$.ma_dvcs).asyncJoinModel2($id_app$$,global.getModel("dvcs"),
|
|
52
52
|
{where:{ma_dvcs:"_id"},fields:"ten_dvcs"});async.mapSeries($data$$,function($row$$,$callback$$){const $row_keys$$=Object.keys($row$$);$row_keys$$.filter($key$$=>$ctrl$$.model.schema.paths[$key$$]).forEach($key$$=>{let $data_type$$=$ctrl$$.model.schema.paths[$key$$].instance.toLowerCase(),$data_value$$=$row$$[$key$$];if($data_value$$&&_.isString($data_value$$)&&("mixed"==$data_type$$||"array"==$data_type$$)&&($data_value$$=$data_value$$.trim(),0==$data_value$$.indexOf("[")||0==$data_value$$.indexOf("{")))try{$row$$[$key$$]=
|
|
53
53
|
JSONParser($data_value$$)}catch($e$$){delete $row$$[$key$$],console.error("Error parse data",$e$$)}});setImmediate(async()=>{for(let $i$$=0;$i$$<$modelJoins$$.length;$i$$++){let $field_ref$$=$modelJoins$$[$i$$];if($row$$[$field_ref$$.name]){let $new_data_ref$$=await global.getModel("originimportid").findOne({id_app:$id_app$$,old_id:$row$$[$field_ref$$.name]}).lean();$new_data_ref$$&&($row$$[$field_ref$$.name]=$new_data_ref$$.new_id)}}delete $row$$.__v;let $old_id$$=$row$$._id;$row$$.ma_dvcs&&!$row$$.ten_dvcs&&
|
|
@@ -58,7 +58,7 @@ $foundObject$$._id,$row$$,function($e$$){if($e$$){let $_e$$=$e$$;underscore.isAr
|
|
|
58
58
|
$new_row$$._id.toString(),$old_id$$)for(await global.getModel("originimportid").findOneAndUpdate({id_app:$new_row$$.id_app,old_id:$old_id$$},{id_app:$new_row$$.id_app,old_id:$old_id$$,new_id:$new_row$$._id.toString()},{new:!0,upsert:!0}),$_e$jscomp$1_i$$=0;$_e$jscomp$1_i$$<$data$$.length;$_e$jscomp$1_i$$++){const $_r$$=$data$$[$_e$jscomp$1_i$$];for(let $key$$ in $_r$$)"_id"!=$key$$&&$_r$$[$key$$]==$old_id$$&&($_r$$[$key$$]=$new_row$$._id.toString(),$_r$$._id_new__&&await $model$$.updateMany({_id:$_r$$._id_new__},
|
|
59
59
|
{[$key$$]:$new_row$$._id.toString()}))}$callback$$()})},$row$$._id,$options$$.req,"import")})})}else create($user$$,$ctrl$$,$row$$,function($e$$,$new_row$$){setImmediate(async()=>{if($e$$){console.error("error import data, creating...",$e$$);var $_e$jscomp$2_i$$=$e$$;underscore.isArray($_e$jscomp$2_i$$)||($_e$jscomp$2_i$$=[{error:$e$$.error||$e$$,code:$e$$.code}]);$rows_error$$.push({error:$_e$jscomp$2_i$$})}else if($row$$._id_new__=$new_row$$._id.toString(),$old_id$$)for(await global.getModel("originimportid").findOneAndUpdate({id_app:$new_row$$.id_app,
|
|
60
60
|
old_id:$old_id$$},{id_app:$new_row$$.id_app,old_id:$old_id$$,new_id:$new_row$$._id.toString()},{new:!0,upsert:!0}),$_e$jscomp$2_i$$=0;$_e$jscomp$2_i$$<$data$$.length;$_e$jscomp$2_i$$++){const $_r$$=$data$$[$_e$jscomp$2_i$$];for(let $key$$ in $_r$$)"_id"!=$key$$&&$_r$$[$key$$]==$old_id$$&&($_r$$[$key$$]=$new_row$$._id.toString(),$_r$$._id_new__&&await $model$$.updateMany({_id:$_r$$._id_new__},{[$key$$]:$new_row$$._id.toString()}))}$callback$$()})},$row$$._id,$options$$.req,"import")})},function($error$$){setImmediate(()=>
|
|
61
|
-
{if($error$$)return $
|
|
61
|
+
{if($error$$)return $callback_main$$($error$$);$callback_main$$(null,{rows_imported:$data$$.length-$rows_error$$.length,rows_error:$rows_error$$})})})}postData($obj$$,$callback$$,$options$$={}){return controller.postData($obj$$,this,$callback$$,$options$$)}pushNotification($_obj$$,$eventName$$="new",$old_obj$$=null,$justFireEvents$$=!1,$options$$={title:"",data:{}}){return pushNotification(this,$_obj$$,$eventName$$,$old_obj$$,$justFireEvents$$,$options$$)}}controller.prototype.__proto__=EventEmitter.prototype;
|
|
62
62
|
const getNextSequence=async function($id_app$$,$ma_ct$$,$field$$,$callback$$,$options$$={}){var $condition_qct_qcts$$={status:!0,field:$field$$,id_app:$id_app$$,$and:[{$or:[{ma_ct:"#",ma_ct_khac:{$regex:$ma_ct$$,$options:"i"}},{cac_ma_ct:$ma_ct$$.toLowerCase()},{ma_ct:$ma_ct$$.toUpperCase()}]}]};$options$$.id_qct&&($condition_qct_qcts$$._id=$options$$.id_qct);if($options$$.ngay_ct){let $start_date$$=moment($options$$.ngay_ct).startOf("date").toDate(),$end_date$$=moment($options$$.ngay_ct).endOf("date").toDate();
|
|
63
63
|
$condition_qct_qcts$$.$and.push({$or:[{tu_ngay:null},{tu_ngay:{$lte:$end_date$$}}]});$condition_qct_qcts$$.$and.push({$or:[{den_ngay:null},{den_ngay:{$gte:$start_date$$}}]})}$options$$.toObject&&($options$$=$options$$.toObject());$condition_qct_qcts$$=await dmqct.find($condition_qct_qcts$$).lean();const $keys$$=Object.keys($options$$),$qct$$=$condition_qct_qcts$$.find($qct$$=>{if($qct$$.dieu_kien&&0<$keys$$.length)try{let $str_func$$=$qct$$.dieu_kien;if(0<=$str_func$$.indexOf("async "))return!1;0!==
|
|
64
64
|
$str_func$$.indexOf("return ")&&($str_func$$=`return ${$str_func$$}`);return evalute($str_func$$,{...$options$$,master:{...$options$$},moment,numeral})}catch($e$$){return console.error("Error find quyen chung tu",$e$$,$qct$$.dieu_kien),!1}else return!0});let $code$$=$qct$$?$qct$$._id.toString():$field$$;counter.getNextSequence($id_app$$,$ma_ct$$,$code$$,async function($error$$,$rs$$){if($error$$)console.error("auto create code for",$ma_ct$$,$code$$,$error$$),$callback$$($error$$);else{if($qct$$){let $tien_to$$=
|
|
@@ -133,31 +133,31 @@ $objsrepost$$){console.log("start repost",$condition$$,$objsrepost$$.length," vo
|
|
|
133
133
|
$obj$$)}catch($e$$){return $callback$$({error:"Kh\u00f4ng th\u1ec3 x\u1eed l\u00fd \u0111\u01b0\u1ee3c d\u1eef li\u1ec7u tr\u01b0\u1edbc khi repost ch\u1ee9ng t\u1eeb:"+$obj$$.so_ct+", L\u1ed7i: "+($e$$.message||$e$$.error||"")})}$update_tk_vt$$&&$obj$$.details&&(console.log("postAgain: update tk_vt..."),await $obj$$.details.filter($d$$=>$d$$.ma_vt).asyncJoinModel2($obj$$.id_app,global.getModel("dmvt"),{where:"ma_vt",fields:"tk_vt"}),$user_update$$.details=$obj$$.details);try{console.log("postAgain: update voucher..."),
|
|
134
134
|
await $model$$.updateOne({_id:$obj$$._id},{...$user_update$$})}catch($e$$){return console.error("postAgain: error update data before repost",$e$$),$callback$$({error:"Kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt \u0111\u01b0\u1ee3c d\u1eef li\u1ec7u ch\u1ee9ng t\u1eeb "+$obj$$.so_ct+",Error:"+$e$$.message||$e$$.error||""})}console.log("postAgain: posting...");postData($obj$$,$ctrl$$,function($e$$,$rs$$){console.log("postAgain: reported",$obj$$.ma_ct,$obj$$.so_ct,$obj$$.ngay_ct,"by",$user$$.email);if($e$$)return $callback$$({error:$e$$.message||
|
|
135
135
|
$e$$.error||"Kh\u00f4ng th\u1ec3 post s\u1ed5 s\u00e1ch ch\u1ee9ng t\u1eeb:"+$obj$$.so_ct});$callback$$(null,$rs$$)},{req:$options$$.req})})},function($e$$){if($e$$)return console.error("postAgain: Error",$e$$),$callback$jscomp$0$$({error:$e$$.message||$e$$.error||$e$$});console.log("postAgain: finished",$condition$$,$objsrepost$$.length," vouchers","by",$user$$.email);$callback$jscomp$0$$(null,{message:"Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 th\u1ef1c hi\u1ec7n xong"})})})})};
|
|
136
|
-
controller.prototype.postAgain=function(){let $model$$=this.model,$ctrl$$=this;this.router.route(`${this.route_name}/action/postagain`).get(async function($req$$,$res$$,$next$$){if(!$ctrl$$.post)return $res$$.send({message:"Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 th\u1ef1c hi\u1ec7n xong"});let $condition$jscomp$1$$={};for(var $k$$ in $req$$.query)if("id_app"!=$k$$&&"access_token"!=$k$$)if("_id"==$k$$&&global.mongoose.Types.ObjectId.isValid($req$$.query._id))try{
|
|
137
|
-
$condition$jscomp$1$$._id=$
|
|
136
|
+
controller.prototype.postAgain=function(){let $model$$=this.model,$ctrl$$=this;this.router.route(`${this.route_name}/action/postagain`).get(async function($req$$,$res$$,$next$$){if(!$ctrl$$.post)return $res$$.send({message:"Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 th\u1ef1c hi\u1ec7n xong"});let $condition$jscomp$1$$={};for(var $k$$ in $req$$.query)if("id_app"!=$k$$&&"access_token"!=$k$$)if("_id"==$k$$&&global.mongoose.Types.ObjectId.isValid($req$$.query._id))try{let $id$$=global.mongoose.Types.ObjectId($req$$.query._id);
|
|
137
|
+
$condition$jscomp$1$$._id=$id$$}catch($error$$){console.error("postAgain condition",$error$$)}else{if("q"==$k$$&&$req$$.query[$k$$])try{$condition$jscomp$1$$=JSONParser($req$$.query[$k$$]);continue}catch($e$$){return console.error("postAgain parse condition",$e$$),$res$$.status(400).send($e$$)}if("tu_ngay"==$k$$&&!0===underscore.has($model$$.schema.paths,"ngay_ct")){var $val_val$$=moment($req$$.query.tu_ngay).startOf("date").toDate();$condition$jscomp$1$$.ngay_ct?$condition$jscomp$1$$.ngay_ct.$gte=
|
|
138
138
|
$val_val$$:$condition$jscomp$1$$.ngay_ct={$gte:$val_val$$}}else"den_ngay"==$k$$&&!0===underscore.has($model$$.schema.paths,"ngay_ct")?($val_val$$=moment($req$$.query.den_ngay).endOf("date").toDate(),$condition$jscomp$1$$.ngay_ct?$condition$jscomp$1$$.ngay_ct.$lte=$val_val$$:$condition$jscomp$1$$.ngay_ct={$lte:$val_val$$}):!0===underscore.has($model$$.schema.paths,$k$$)&&($condition$jscomp$1$$[$k$$]=$req$$.query[$k$$])}!0===underscore.has($model$$.schema.paths,"id_app")&&($condition$jscomp$1$$.id_app=
|
|
139
|
-
$req$$.user.current_id_app);if(underscore.has($model$$.schema.paths,"ngay_ct")){if(!$condition$jscomp$1$$.ngay_ct)return $res$$.status(403).send({error:"B\u1ea1n ch\u01b0a nh\u1eadp \u0111i\u1ec1u ki\u1ec7n cho ng\u00e0y ch\u1ee9ng t\u1eeb"});$k$$=$condition$jscomp$1$$.ngay_ct.$lte||$condition$jscomp$1$$.ngay_ct.$lt;if(!$k$$)return $res$$.status(403).send({error:"\u0110i\u1ec1u ki\u1ec7n ng\u00e0y ch\u1ee9ng t\u1eeb kh\u00f4ng h\u1ee3p l\u1ec7"});$k$$=new Date($k$$)
|
|
140
|
-
|
|
141
|
-
$
|
|
142
|
-
$
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
$
|
|
148
|
-
controller.prototype.updateKey=function(){let $model$$=this.model,$ctrl$$=this;this.router.route(`${this.route_name}/updatekey/:_id/:field/:new_value`).get(function($req$$,$res$$){let $_id$$=$req$$.params._id;if(!mongoose.Types.ObjectId.isValid($_id$$))return $res$$.status(400).send({error:"_id c\u1ee7a \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y kh\u00f4ng h\u1ee3p l\u1ec7"});let $field$$=$req$$.params.field;if("_id"==$field$$)return $res$$.status(400).send({error:"Kh\u00f4ng th\u1ec3 \u0111\u1ed5i tr\u01b0\u1eddng _id"});
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
$
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
139
|
+
$req$$.user.current_id_app);if(underscore.has($model$$.schema.paths,"ngay_ct")){if(!$condition$jscomp$1$$.ngay_ct)return $res$$.status(403).send({error:"B\u1ea1n ch\u01b0a nh\u1eadp \u0111i\u1ec1u ki\u1ec7n cho ng\u00e0y ch\u1ee9ng t\u1eeb"});$k$$=$condition$jscomp$1$$.ngay_ct.$lte||$condition$jscomp$1$$.ngay_ct.$lt;if(!$k$$)return $res$$.status(403).send({error:"\u0110i\u1ec1u ki\u1ec7n ng\u00e0y ch\u1ee9ng t\u1eeb kh\u00f4ng h\u1ee3p l\u1ec7"});$k$$=new Date($k$$);if($k$$=await utils.isBookLocked({id_app:$req$$.user.current_id_app,
|
|
140
|
+
ngay_ct:$k$$}))return $res$$.status(403).send({error:`\u0110\u00e3 kh\u00f3a s\u1ed5 \u0111\u1ebfn h\u1ebft ng\u00e0y ${moment($k$$).format("DD/MM/YYYY")}`})}$ctrl$$.finding?$ctrl$$.finding($req$$.user,$condition$jscomp$1$$,function($e$jscomp$0$$,$condition$jscomp$0$$){setImmediate(()=>{if($e$jscomp$0$$)return console.error("postAgain finding",$e$jscomp$0$$),$res$$.status(400).send({error:$e$jscomp$0$$.message||$e$jscomp$0$$.error||$e$jscomp$0$$});$ctrl$$.dynamicFinding?$ctrl$$.dynamicFinding($req$$.user,
|
|
141
|
+
$condition$jscomp$0$$,function($e$$,$condition$$){if($e$$)return console.error("postAgain dynamicFinding",$e$$),$res$$.status(400).send({error:$e$$.message||$e$$.error||$e$$});$req$$.condition=$condition$$;$next$$()},{req:$req$$}):($req$$.condition=$condition$jscomp$0$$,$next$$())})},{req:$req$$}):$ctrl$$.dynamicFinding?$ctrl$$.dynamicFinding($req$$.user,$condition$jscomp$1$$,function($e$$,$condition$$){if($e$$)return console.error("postAgain dynamicFinding",$e$$),$res$$.status(400).send({error:$e$$.message||
|
|
142
|
+
$e$$.error||$e$$});$req$$.condition=$condition$$;$next$$()},{req:$req$$}):($req$$.condition=$condition$jscomp$1$$,$next$$())},function($req$$,$res$$,$next$$){permission.isAdmin($req$$.user.current_id_app,$req$$.user.email,function($e$$,$admin$$){setImmediate(()=>{if($e$$)return $res$$.status(403).send({error:$e$$.error||$e$$,code:$e$$.code});if(!$admin$$)return $res$$.status(403).send({error:"B\u1ea1n ph\u1ea3i c\u00f3 quy\u1ec1n admin \u0111\u1ec3 th\u1ef1c hi\u1ec7n t\u00ednh n\u0103ng n\u00e0y"});
|
|
143
|
+
$next$$()})})},function($req$$,$res$$){const $condition$$=$req$$.condition;underscore.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&&log.create({id_app:$req$$.user.current_id_app,id_func:$ctrl$$.name,
|
|
144
|
+
action:"POSTAGAIN",data:{condition:JSON.stringify($data_log$$)}},$req$$.user.email,$req$$.header("user-agent"),$req$$);global.importDataMainPool?(console.log("Ch\u01b0\u01a1ng tr\u00ecnh \u0111ang c\u1eadp nh\u1eadt l\u1ea1i s\u1ed5 s\u00e1ch tr\u00ean m\u1ed9t process kh\u00e1c"),global.importDataMainPool.exec({user:$req$$.user,id_app:$req$$.user.current_id_app,module:$ctrl$$.name.toUpperCase(),condition:$condition$$,configs:JSON.stringify(configs),action:"POSTAGAIN"},$response$$=>{setImmediate(()=>
|
|
145
|
+
{$response$$.error?(console.error("L\u1ed7i khi repost voucher",$response$$.error),global.getModel("notification").createNotification($req$$.user.email,$req$$.user.email,"Kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt l\u1ea1i s\u1ed5 s\u00e1ch",$response$$.error.message||$response$$.error,null,{id_app:$req$$.user.current_id_app},!0,$req$$.access_token,!0)):global.getModel("notification").createNotification($req$$.user.email,$req$$.user.email,"Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 c\u1eadp nh\u1eadt l\u1ea1i s\u1ed5 s\u00e1ch xong",
|
|
146
|
+
"Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 c\u1eadp nh\u1eadt l\u1ea1i s\u1ed5 s\u00e1ch xong",null,{id_app:$req$$.user.current_id_app},!0,$req$$.access_token,!0)})}),$res$$.send({message:"Ch\u01b0\u01a1ng tr\u00ecnh \u0111ang th\u1ef1c hi\u1ec7n"})):(console.log("Ch\u01b0\u01a1ng tr\u00ecnh \u0111ang c\u1eadp nh\u1eadt l\u1ea1i s\u1ed5 s\u00e1ch tr\u00ean process ch\u00ednh"),$ctrl$$.postAgainHandler($req$$.user,$condition$$,($e$$,$rs$$)=>{if($e$$)return $res$$.status(400).send({error:$e$$.message||
|
|
147
|
+
$e$$.error||$e$$});$res$$.send($rs$$)},{req:$req$$}))})};
|
|
148
|
+
controller.prototype.updateKey=function(){let $model$$=this.model,$ctrl$$=this;this.router.route(`${this.route_name}/updatekey/:_id/:field/:new_value`).get(function($req$$,$res$$){let $_id$$=$req$$.params._id;if(!mongoose.Types.ObjectId.isValid($_id$$))return $res$$.status(400).send({error:"_id c\u1ee7a \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y kh\u00f4ng h\u1ee3p l\u1ec7"});let $field$$=$req$$.params.field;if("_id"==$field$$)return $res$$.status(400).send({error:"Kh\u00f4ng th\u1ec3 \u0111\u1ed5i tr\u01b0\u1eddng _id"});if(!underscore.has($model$$.schema.paths,
|
|
149
|
+
$field$$))return $res$$.status(400).send({error:"Model n\u00e0y kh\u00f4ng c\u00f3 tr\u01b0\u1eddng "+$field$$});if(!underscore.has($model$$.schema.paths,"id_app"))return $res$$.status(400).send({error:"Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u model c\u1ea7n ph\u1ea3i c\u00f3 id_app field"});let $new_value$$=$req$$.params.new_value.trim().toUpperCase(),$id_app$$=$req$$.user.current_id_app;permission.isAdmin($req$$.user.current_id_app,$req$$.user.email,function($e$jscomp$0$$,$admin$$){setImmediate(async()=>
|
|
150
|
+
{if($e$jscomp$0$$)return $res$$.status(403).send({error:$e$jscomp$0$$.error||$e$jscomp$0$$,code:$e$jscomp$0$$.code});if(!$admin$$)return $res$$.status(403).send({error:"B\u1ea1n ph\u1ea3i c\u00f3 quy\u1ec1n admin \u0111\u1ec3 th\u1ef1c hi\u1ec7n t\u00ednh n\u0103ng n\u00e0y"});let $obj$$=await $model$$.findOne({_id:$_id$$}).lean();if(!$obj$$)return $res$$.status(400).send({error:"\u0110\u1ed1i t\u01b0\u1ee3ng n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i"});const $old_value$$=$obj$$[$field$$],$deletedItems$$=
|
|
151
|
+
await $model$$.find({id_app:$id_app$$,[$field$$]:$new_value$$,_id:{$ne:$_id$$}}).lean();console.log("Cac ban ghi bi trung",$deletedItems$$);$deletedItems$$.forEach($item$$=>{$ctrl$$.deleteData({...$item$$})});console.log("gop cac record giong nhau",{id_app:$id_app$$,[$field$$]:$new_value$$,_id:{$ne:$_id$$}});let $rs_deleted$$=await $model$$.deleteMany({id_app:$id_app$$,[$field$$]:$new_value$$,_id:{$ne:$_id$$}});console.log("Da xoa cac ban ghi trung nhau",$rs_deleted$$);const $user_update$$={date_updated:new Date,
|
|
152
|
+
user_updated:$req$$.user.email};$new_value$$!==$obj$$[$field$$]&&await $model$$.updateOne({_id:$_id$$},{[$field$$]:$new_value$$,...$user_update$$});$obj$$[$field$$]=$new_value$$;await $ctrl$$.cacheData($obj$$);Object.values(mongoose.models).filter($m$$=>underscore.has($m$$.schema.paths,$field$$)&&$m$$.collection.name!=$model$$.collection.name).forEach($_ref_model$$=>{$_ref_model$$.updateMany({[$field$$]:$old_value$$,id_app:$id_app$$},{[$field$$]:$new_value$$,...$user_update$$}).then($rs$$=>{console.log("update gia tri moi cho cac model",
|
|
153
|
+
$_ref_model$$.collection.name,{[$field$$]:$old_value$$,id_app:$id_app$$},{[$field$$]:$new_value$$},"result",$rs$$)}).catch($e$$=>{console.error("update gia tri moi cho cac model",$_ref_model$$.collection.name,{[$field$$]:$old_value$$,id_app:$id_app$$},{[$field$$]:$new_value$$},"error",$e$$)})});const $model_name$$=$ctrl$$.model_name;(await global.getModel("listinfo").find({"fields.ref_model":$model_name$$,"fields.ref_field":{$in:["_id",$field$$]}}).lean()).forEach($l$$=>{let $_ref_model$$=mongoose.models[$l$$.model_code||
|
|
154
|
+
$l$$.api_code||$l$$.code];$_ref_model$$&&($l$$.fields.filter($f$$=>$f$$.ref_model==$model_name$$&&$f$$.ref_field==$field$$).forEach($f$$=>{underscore.has($_ref_model$$.schema.paths,$f$$.name)&&$_ref_model$$.updateMany({[$f$$.name]:$obj$$[$f$$.ref_field],id_app:$id_app$$},{[$f$$.name]:$new_value$$,...$user_update$$}).then($rs$$=>{console.log("update gia tri moi cho cac model",$_ref_model$$.collection.name,{[$f$$.name]:$obj$$[$f$$.ref_field],id_app:$id_app$$},{[$f$$.name]:$new_value$$},"result",$rs$$)}).catch($e$$=>
|
|
155
|
+
{console.error("update gia tri moi cho cac model",$_ref_model$$.collection.name,{[$f$$.name]:$obj$$[$f$$.ref_field],id_app:$id_app$$},{[$f$$.name]:$new_value$$},"error",$e$$)})}),$l$$.fields.filter($f$$=>$f$$.ref_model==$model_name$$&&"_id"==$f$$.ref_field).forEach($f$$=>{underscore.has($_ref_model$$.schema.paths,$f$$.name)&&$deletedItems$$.forEach($deleted$$=>{$_ref_model$$.updateMany({[$f$$.name]:$deleted$$._id.toString(),id_app:$id_app$$},{[$f$$.name]:$obj$$._id.toString(),...$user_update$$}).then($rs$$=>
|
|
156
|
+
{console.log("update gia tri moi cho cac model",$_ref_model$$.collection.name,{[$f$$.name]:$deleted$$._id.toString(),id_app:$id_app$$},{[$f$$.name]:$obj$$._id.toString()},"result",$rs$$)}).catch($e$$=>{console.error("update gia tri moi cho cac model",$_ref_model$$.collection.name,{[$f$$.name]:$deleted$$._id.toString(),id_app:$id_app$$},{[$f$$.name]:$obj$$._id.toString()},"error",$e$$)})})}))});Object.values(mongoose.models).filter($m$$=>$m$$.collection.name!=$model$$.collection.name).forEach($_ref_model$$=>
|
|
157
|
+
{for(let $key$$ in $_ref_model$$.schema.paths){let $data_type$$=$_ref_model$$.schema.paths[$key$$].instance.toLowerCase();"array"==$data_type$$&&$_ref_model$$.updateMany({[`${$key$$}.${$field$$}`]:$old_value$$,id_app:$id_app$$},{[`${$key$$}.$.${$field$$}`]:$new_value$$,...$user_update$$}).then($rs$$=>{console.log("update gia tri moi cho subdocument",$key$$,"type",$data_type$$,"cac model",$_ref_model$$.collection.name,{[$field$$]:$old_value$$,id_app:$id_app$$},{[$field$$]:$new_value$$},"result",$rs$$)}).catch($e$$=>
|
|
158
|
+
{console.error("update gia tri moi cho subdocument",$key$$,"type",$data_type$$,"cac model",$_ref_model$$.collection.name,{[$field$$]:$old_value$$,id_app:$id_app$$},{[$field$$]:$new_value$$},"error",$e$$)});if("object"==$data_type$$||"mixed"==$data_type$$)console.log("update gia tri moi cho subdocument",$key$$,"type",$data_type$$,"cac model",$_ref_model$$.collection.name,{[$field$$]:$old_value$$,id_app:$id_app$$},{[$field$$]:$new_value$$}),$_ref_model$$.updateMany({[`${$key$$}.${$field$$}`]:$old_value$$,
|
|
159
|
+
id_app:$id_app$$},{[`${$key$$}.${$field$$}`]:$new_value$$,...$user_update$$}).then($rs$$=>{console.log("update gia tri moi cho subdocument",$key$$,"type",$data_type$$,"cac model",$_ref_model$$.collection.name,{[$field$$]:$old_value$$,id_app:$id_app$$},{[$field$$]:$new_value$$},"result",$rs$$)}).catch($e$$=>{console.error("update gia tri moi cho subdocument",$key$$,"type",$data_type$$,"cac model",$_ref_model$$.collection.name,{[$field$$]:$old_value$$,id_app:$id_app$$},{[$field$$]:$new_value$$},"error",
|
|
160
|
+
$e$$)})}});$res$$.send({message:"Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 th\u1ef1c hi\u1ec7n xong"})})})})};
|
|
161
161
|
controller.prototype.updateField=function(){let $model$$=this.model,$ctrl$$=this,$field$$;this.router.route(`${this.route_name}/update/:field`).get(function($req$$,$res$$,$next$$){$field$$=$req$$.params.field;if(!underscore.has($model$$.schema.paths,$field$$))return $res$$.status(400).send({error:"Field "+$field$$+" kh\u00f4ng t\u1ed3n t\u1ea1i"});var $condition$jscomp$1$$=$model$$.collection.name;$req$$.user.current_id_app&&($condition$jscomp$1$$+=$req$$.user.current_id_app);delete global.cacheDatas[$condition$jscomp$1$$];
|
|
162
162
|
$condition$jscomp$1$$={};for(let $k$$ in $req$$.query)if("id_app"!=$k$$&&"access_token"!=$k$$)if("_id"==$k$$&&mongoose.Types.ObjectId.isValid($req$$.query._id))try{let $id$$=global.mongoose.Types.ObjectId($req$$.query._id);$condition$jscomp$1$$._id=$id$$}catch($error$$){console.error("updateField condition",$error$$)}else if("q"==$k$$&&$req$$.query[$k$$])$condition$jscomp$1$$=JSONParser($req$$.query[$k$$]);else if("tu_ngay"==$k$$&&!0===underscore.has($model$$.schema.paths,"ngay_ct")){var $val$jscomp$2_val$$=
|
|
163
163
|
moment($req$$.query.tu_ngay).startOf("date").toDate();$condition$jscomp$1$$.ngay_ct?$condition$jscomp$1$$.ngay_ct.$gte=$val$jscomp$2_val$$:$condition$jscomp$1$$.ngay_ct={$gte:$val$jscomp$2_val$$}}else"den_ngay"==$k$$&&!0===underscore.has($model$$.schema.paths,"ngay_ct")?($val$jscomp$2_val$$=moment($req$$.query.den_ngay).endOf("date").toDate(),$condition$jscomp$1$$.ngay_ct?$condition$jscomp$1$$.ngay_ct.$lte=$val$jscomp$2_val$$:$condition$jscomp$1$$.ngay_ct={$lte:$val$jscomp$2_val$$}):!0===underscore.has($model$$.schema.paths,
|
|
@@ -187,7 +187,7 @@ voiip_webhook:0,wallet_address:0,wallet_token:0,owner:0,default_password:0,email
|
|
|
187
187
|
delete $_app$$.access_token;let $data4export$$=[];$objs$$.forEach(function($_data_obj$$){for(let $_obj_c$$ in $_data_obj$$)if(underscore.isObject($_data_obj$$[$_obj_c$$]))for(let $k$$ in $_data_obj$$[$_obj_c$$])if(0<=$k$$.indexOf("ngay")||0<=$k$$.indexOf("date"))try{$_data_obj$$[$_obj_c$$+"_"+$k$$]=new Date($_data_obj$$[$_obj_c$$][$k$$])}catch($e$$){$_data_obj$$[$_obj_c$$+"_"+$k$$]=$_data_obj$$[$_obj_c$$][$k$$]}else $_data_obj$$[$_obj_c$$+"_"+$k$$]=$_data_obj$$[$_obj_c$$][$k$$];$_data_obj$$={obj:$_data_obj$$};
|
|
188
188
|
underscore.extend($_data_obj$$,$_app$$);$data4export$$.push($_data_obj$$)});getParameters($id_app$$,$rps$$,($e$jscomp$1$$,$parameters$$)=>{if($e$jscomp$1$$)return console.error("exportToExcel get params",$e$jscomp$1$$),$e$jscomp$1$$.error?$res$$.status(400).send($e$jscomp$1$$):$res$$.status(400).send({error:$e$jscomp$1$$.message||$e$jscomp$1$$});async.mapSeries($data4export$$,function($_data$$,$callback$$){setImmediate(()=>{prepareParameters($ctrl$$,$parameters$$,$_data$$,$_data$$.obj,function($e$$,
|
|
189
189
|
$rs$$){if($e$$)return $callback$$($e$$);delete $_data$$.obj;$callback$$(null,$rs$$)})})},async function($e$jscomp$0$$){setImmediate(async()=>{if($e$jscomp$0$$)return console.error("exportToExcel",$e$jscomp$0$$),$e$jscomp$0$$.error?$res$$.status(400).send($e$jscomp$0$$):$res$$.status(400).send({error:$e$jscomp$0$$.message||$e$jscomp$0$$});if($req$$.query.print){console.log("render print page....");if(!$rs$jscomp$0$$.html_template)return $res$$.status(400).send({error:"Ch\u01b0a khai b\u00e1o m\u1eabu in"});
|
|
190
|
-
let $cac_lien$$=$rs$jscomp$0$$.cac_lien;$cac_lien$$&&0!=$cac_lien$$.length||($cac_lien$$=[{ma_lien:1,ten_lien:"Li\u00ean 1"}]);try{let $pages$$=[];async.mapSeries($data4export$$,($_data$$,$callback$$)=>{$_data$$.datasource={...$_data$$};$_data$$.company={...$_app$$};async.mapSeries($cac_lien$$,async $lien_page$$=>{$_data$$.lien=$lien_page$$;$lien_page$$=await htmlReport($rs$jscomp$0$$.
|
|
190
|
+
let $cac_lien$$=$rs$jscomp$0$$.cac_lien;$cac_lien$$&&0!=$cac_lien$$.length||($cac_lien$$=[{ma_lien:1,ten_lien:"Li\u00ean 1"}]);try{let $pages$$=[];async.mapSeries($data4export$$,($_data$$,$callback$$)=>{$_data$$.datasource={...$_data$$};$_data$$.company={...$_app$$};async.mapSeries($cac_lien$$,async $lien_page$$=>{$_data$$.lien=$lien_page$$;$lien_page$$=await htmlReport($rs$jscomp$0$$._id,$_data$$);$pages$$.push($lien_page$$)},()=>{$callback$$()})},()=>{$res$$.send($pages$$.join('<p style="page-break-before: always"></p>'))})}catch($e$$){return console.error("exportToExcel",
|
|
191
191
|
$e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$})}}else if($req$$.query.json)$res$$.json($data4export$$);else{if(!$rs$jscomp$0$$.file_mau_in)return $res$$.status(400).send({error:"Ch\u01b0a khai b\u00e1o file excel m\u1eabu"});var $dir_root_templates_id_file$$=configs.paths.templates||__dirname;let $templatePath$$;if(0<$rs$jscomp$0$$.file_mau_in.indexOf("/file/download")){$dir_root_templates_id_file$$=$rs$jscomp$0$$.file_mau_in.split("/").pop();const $file$$=
|
|
192
192
|
global.getModel("file");try{var $_data$jscomp$0$$=await $file$$.findOne({_id:$dir_root_templates_id_file$$});$_data$jscomp$0$$||$res$$.status(400).send({error:"Kh\u00f4ng t\u00ecm th\u1ea5y m\u1eabu"});let $file_name$$=$_data$jscomp$0$$.file.name,$root$$=configs.paths.uploads;$root$$||($root$$=__dirname,$root$$=path.dirname($root$$),$root$$=path.join($root$$,"uploads"));$templatePath$$=path.join($root$$,$file_name$$)}catch($e$$){return $res$$.status(400).send({error:$e$$.message||"Kh\u00f4ng t\u00ecm th\u1ea5y m\u1eabu"})}}else $templatePath$$=
|
|
193
193
|
path.dirname($dir_root_templates_id_file$$)+$rs$jscomp$0$$.file_mau_in;if(!$templatePath$$||!fs.existsSync($templatePath$$))return $res$$.status(400).send({error:"File m\u1eabu kh\u00f4ng t\u1ed3n t\u1ea1i"});let $ext$$=$templatePath$$.split(".").pop();"xlsx"===$ext$$?excelReport($templatePath$$,$data4export$$,function($e$$,$result$$){setImmediate(()=>{if($e$$)return console.error($e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});$res$$.setHeader("Content-Type",
|
|
@@ -195,53 +195,53 @@ path.dirname($dir_root_templates_id_file$$)+$rs$jscomp$0$$.file_mau_in;if(!$temp
|
|
|
195
195
|
$res$$.status(400).send({error:$e$$.message||$e$$});"docx"===$ext$$?($res$$.setHeader("Content-Type","application/vnd.openxmlformats-officedocument.wordprocessingml.document"),$res$$.setHeader("Content-Disposition","attachment; filename="+$ctrl$$.name+".docx"),$res$$.write($result$$,"binary"),$res$$.end(null,"binary")):$res$$.send($result$$)})}))}})})})})})})})};
|
|
196
196
|
controller.prototype.importFromJson=function(){const $name$$=this.name;let $ctrl$$=this;this.router.route(`${this.route_name}/import/json`).post(function($req$$,$res$$,$next$$){let $session$$=$req$$.session;if(!0===$session$$["import_json_"+$name$$])return $res$$.status(400).send({error:"\u0110ang x\u1eed l\u00fd d\u1eef li\u1ec7u"});$session$$["import_json_"+$name$$]=!0;if($req$$.files&&$req$$.files.json){let $filePath$$=$req$$.files.json.path;try{console.log("read file json..."),$req$$.data=require($filePath$$),
|
|
197
197
|
fs.unlink($filePath$$,function($error$$){$error$$&&console.error("Can't delete file tmp:"+$filePath$$,$error$$)}),$next$$()}catch($e$$){return $session$$["import_json_"+$name$$]=!1,console.error("importFromJson",$e$$),$res$$.status(400).send({error:$e$$.message||$e$$})}}else if($req$$.body){try{$req$$.data=$req$$.body.map($row$jscomp$2_rs$$=>{$row$jscomp$2_rs$$=_.isString($row$jscomp$2_rs$$)?JSONParser($row$jscomp$2_rs$$):$row$jscomp$2_rs$$;delete $row$jscomp$2_rs$$.id_app;delete $row$jscomp$2_rs$$._id;
|
|
198
|
-
return $row$jscomp$2_rs$$})}catch($e$$){return console.error("importFromJson",$e$$),$res$$.status(400).send({error:$e$$.message||$e$$})}$next$$()}else return $session$$["import_json_"+$name$$]=!1,$res$$.status(400).send({error:"Kh\u00f4ng t\u00ecm th\u1ea5y d\u1eef li\u1ec7u c\u1ea7n import"})},function($req$$,$res$$){let $data$$=$req$$.data;
|
|
199
|
-
|
|
200
|
-
$e
|
|
201
|
-
$message$$);$res$$.status(400).send({error:$rs$$.error||$rs$$,message:$message$$})}})},{replace:!0===$req$$.query.update||"true"==$req$$.query.update,req:$req$$})})};
|
|
198
|
+
return $row$jscomp$2_rs$$})}catch($e$$){return console.error("importFromJson",$e$$),$res$$.status(400).send({error:$e$$.message||$e$$})}$next$$()}else return $session$$["import_json_"+$name$$]=!1,$res$$.status(400).send({error:"Kh\u00f4ng t\u00ecm th\u1ea5y d\u1eef li\u1ec7u c\u1ea7n import"})},function($req$$,$res$$,$next$$){let $session$$=$req$$.session,$data$$=$req$$.data;if($ctrl$$.options.onImport)$ctrl$$.options.onImport($req$$.user,$data$$,[],function($e$$,$new_data$$){setImmediate(()=>{if($e$$)return $session$$["import_json_"+
|
|
199
|
+
$name$$]=!1,console.error("onImport from json:",$e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});$req$$.data=$new_data$$||$data$$;$next$$()})});else $req$$.data=$data$$,$next$$()},function($req$$,$res$$){let $data$$=$req$$.data;setImmediate(()=>{log.create({id_app:$req$$.user.current_id_app,id_func:$ctrl$$.name,action:"IMPORTJSON",data:{data:$data$$}},$req$$.user.email,$req$$.header("user-agent"),$req$$)});let $values$$=$req$$.query.values;if($values$$){try{$values$$=
|
|
200
|
+
JSONParser($values$$)}catch($e$$){console.error("importFromJson",$e$$)}$values$$&&$data$$.forEach($row$$=>{for(let $key$$ in $values$$)$row$$[$key$$]=$values$$[$key$$]})}$ctrl$$.import($req$$.user,$req$$.user.current_id_app,$data$$,($e$$,$rs$$)=>{setImmediate(()=>{if($e$$)return console.error("import from json",$ctrl$$.name,$data$$.length,"rows with error:",$e$$),$e$$.error?($e$$.message=$e$$.message||$e$$.error,$res$$.status(400).send($e$$)):$res$$.status(400).send({error:$e$$.error||$e$$.message||
|
|
201
|
+
$e$$,message:$e$$.message||$e$$.error});if(0===$rs$$.rows_error.length)$res$$.send($rs$$);else{let $message$$=$rs$$.rows_error.map($r$jscomp$0$$=>$r$jscomp$0$$.error.map($r$$=>$r$$.error||$r$$).join(", ")).join(", ");$res$$.status(400).send({error:$rs$$.error||$rs$$,message:$message$$})}})},{replace:!0===$req$$.query.update||"true"==$req$$.query.update,req:$req$$})})};
|
|
202
202
|
controller.prototype.importFromExcel=function(){let $name$$=this.name,$ctrl$$=this;this.router.route(`${this.route_name}/import/excel`).post(async function($req$$,$res$$,$next$$){let $session$$=$req$$.session;if(!0===$session$$["import_"+$name$$+($req$$.params.id_app||"")])return $res$$.status(400).send({error:"\u0110ang x\u1eed l\u00fd d\u1eef li\u1ec7u"});$session$$["import_"+$name$$+($req$$.params.id_app||"")]=!0;if(!$req$$.files.xlsx)return $session$$["import_"+$name$$+($req$$.params.id_app||
|
|
203
203
|
"")]=!1,$res$$.status(400).send({error:"Kh\u00f4ng t\u00ecm th\u1ea5y file xlsx"});let $parseOptions$$={};console.log("read file excel");let $map_root$$=configs.paths.maps,$map_file$$;$map_root$$&&($map_file$$=$map_root$$+"/"+$name$$+".js");$map_file$$&&fs.existsSync($map_file$$)||($map_file$$=path.dirname(__dirname)+"/maps/"+$name$$+".js");fs.existsSync($map_file$$)&&($parseOptions$$=await new Promise($resolve$$=>{setImmediate(()=>{$resolve$$(require($map_file$$))})}));if($ctrl$$.options.onPreExcelParse){const $onPreExcelParse$$=
|
|
204
204
|
$ctrl$$.options.onPreExcelParse;await new Promise($resolve$$=>{setImmediate(()=>{$onPreExcelParse$$($parseOptions$$);$resolve$$()})})}let $filePath$$=$req$$.files.xlsx.path;console.log("parse file excel");excel.parse($filePath$$,function($e$jscomp$0$$,$data$$,$columns$$){setImmediate(()=>{fs.unlink($filePath$$,function($e$$){$e$$&&console.error("Can't delete file tmp:"+$filePath$$,$e$$)});if($e$jscomp$0$$)return $session$$["import_"+$name$$+($req$$.params.id_app||"")]=!1,console.error("error parse excel file",
|
|
205
205
|
$e$jscomp$0$$),$e$jscomp$0$$.error?$res$$.status(400).send($e$jscomp$0$$):$res$$.status(400).send({error:$e$jscomp$0$$.message||$e$jscomp$0$$});$data$$=$data$$.filter($d$$=>0<Object.keys($d$$).length);if(1E4<$data$$.length)return $session$$["import_"+$name$$+($req$$.params.id_app||"")]=!1,console.log("Data is too large",$data$$.length),$res$$.status(400).send({error:"S\u1ed1 d\u00f2ng import qu\u00e1 l\u1edbn. M\u1ed7i l\u1ea7n import ch\u1ec9 \u0111\u01b0\u1ee3c ph\u00e9p t\u1ed1i \u0111a 10 000 d\u00f2ng"});
|
|
206
206
|
$ctrl$$.excelParse&&$ctrl$$.excelParse($data$$,$columns$$);var $dir_workers_poolName$$=configs.paths.workers;let $onImportProcess$$;$dir_workers_poolName$$&&($onImportProcess$$=$dir_workers_poolName$$+"/"+$name$$.toLowerCase()+"OnImport.js");$onImportProcess$$&&fs.existsSync($onImportProcess$$)||($dir_workers_poolName$$=path.dirname(__dirname)+"/workers",$onImportProcess$$=$dir_workers_poolName$$+"/"+$name$$.toLowerCase()+"OnImport.js");if(fs.existsSync($onImportProcess$$))$dir_workers_poolName$$=
|
|
207
207
|
`${$name$$}excelParsePool`,global[$dir_workers_poolName$$]||(global[$dir_workers_poolName$$]=new StaticPool($onImportProcess$$)),global[$dir_workers_poolName$$].exec({user:$req$$.user,data:$data$$,columns:$columns$$,configs:{database:configs.database}},$response$$=>{if($response$$.error)return $session$$["import_"+$name$$+($req$$.params.id_app||"")]=!1,$res$$.status(400).send({error:$response$$.error||"\u0110\u00e3 c\u00f3 l\u1ed7i khi x\u1eed l\u00fd d\u1eef li\u1ec7u"});$req$$.data=$response$$.data||
|
|
208
|
-
$data$$;$req$$.columns=$response$$.columns||$columns$$;$next$$()});else if($ctrl$$.options.onImport)$ctrl$$.options.onImport($req$$.user,$data$$,$columns$$,function($e$$){setImmediate(()=>{if($e$$)return $session$$["import_"+$name$$+($req$$.params.id_app||"")]=!1,console.error("onImport",$e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});$req$$.data=$data$$;$req$$.columns=$columns$$;$next$$()})});else setImmediate(()=>{$req$$.data
|
|
209
|
-
$columns$$;$next$$()})})},$parseOptions$$)},function($req$$,$data$jscomp$
|
|
210
|
-
{},$details$$[$columns$$].columns=[]),$details$$[$columns$$].columns.push($detail_col$$)):$master_columns$$.push($column_name$$);if(!$detail_yn$$)return $next$$();let $data_new$$=[],$row_master$$,$row_master_exists$$;async.mapSeries($data$jscomp$
|
|
208
|
+
$data$$;$req$$.columns=$response$$.columns||$columns$$;$next$$()});else if($ctrl$$.options.onImport)$ctrl$$.options.onImport($req$$.user,$data$$,$columns$$,function($e$$,$new_data$$){setImmediate(()=>{if($e$$)return $session$$["import_"+$name$$+($req$$.params.id_app||"")]=!1,console.error("onImport",$e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});$req$$.data=$new_data$$||$data$$;$req$$.columns=$columns$$;$next$$()})});else setImmediate(()=>{$req$$.data=
|
|
209
|
+
$data$$;$req$$.columns=$columns$$;$next$$()})})},$parseOptions$$)},function($req$$,$data$jscomp$7_res$$,$next$$){console.log("prepare data...");$data$jscomp$7_res$$=$req$$.data;var $columns$$=$req$$.columns;$columns$$._error||($columns$$._error="Error");let $master_columns$$=[],$detail_col$$,$details$$={},$detail_yn$$=!1;for(let $column_name$$ in $columns$$)0<$column_name$$.indexOf("$")?($detail_yn$$=!0,$columns$$=$column_name$$.split("$")[0],$detail_col$$=$column_name$$.split("$")[1],$details$$[$columns$$]||
|
|
210
|
+
($details$$[$columns$$]={},$details$$[$columns$$].columns=[]),$details$$[$columns$$].columns.push($detail_col$$)):$master_columns$$.push($column_name$$);if(!$detail_yn$$)return $next$$();let $data_new$$=[],$row_master$$,$row_master_exists$$;async.mapSeries($data$jscomp$7_res$$,($row$$,$cb$$)=>{setImmediate(()=>{$row_master$$={exfields:{}};$row_master_exists$$=null;$master_columns$$.forEach(function($column$$){if(0===$column$$.indexOf("exfields.")){let $_c$$=$column$$.replace("exfields.","");$row_master$$.exfields[$_c$$]=
|
|
211
211
|
$row$$[$column$$]}else $row_master$$[$column$$]=$row$$[$column$$]});for(let $i$$=0;$i$$<$data_new$$.length;$i$$++){let $m$$=$data_new$$[$i$$],$is_eq$$=!0;$master_columns$$.forEach(function($column$$){underscore.isEqual($m$$[$column$$],$row_master$$[$column$$])||($is_eq$$=!1)});$is_eq$$&&($row_master_exists$$=$m$$)}$row_master_exists$$?$row_master$$=$row_master_exists$$:$data_new$$.push($row_master$$);let $row_detail$$;for(let $detail_name$$ in $details$$)$row_detail$$={},$details$$[$detail_name$$].columns.forEach(function($column$$){$row$$[$detail_name$$+
|
|
212
212
|
"$"+$column$$]&&($row_detail$$[$column$$]=$row$$[$detail_name$$+"$"+$column$$])}),$row_master$$[$detail_name$$]||($row_master$$[$detail_name$$]=[]),0<underscore.keys($row_detail$$).length&&$row_master$$[$detail_name$$].push($row_detail$$);$cb$$()})},()=>{$req$$.data=$data_new$$;setImmediate(()=>{$next$$()})})},function($req$$,$res$$){let $data$$=$req$$.data||[],$columns$$=$req$$.columns;for(let $row$$ of $data$$){let $_first$$=$row$$._first;$_first$$&&0<$_first$$.length&&underscore.extend($row$$,
|
|
213
213
|
$_first$$[0])}setImmediate(()=>{log.create({id_app:$req$$.user.current_id_app,id_func:$ctrl$$.name,action:"IMPORTEXCEL",data:{data:$data$$,columns:$columns$$}},$req$$.user.email,$req$$.header("user-agent"),$req$$)});let $values$$=$req$$.query.values;if($values$$){try{$values$$=JSONParser($values$$)}catch($e$$){console.error("parse value",$e$$)}$values$$&&$data$$.forEach($row$$=>{for(let $key$$ in $values$$)$row$$[$key$$]=$values$$[$key$$]})}global.importDataMainPool?global.importDataMainPool.exec({user:$req$$.user,
|
|
214
214
|
id_app:$req$$.user.current_id_app,module:$name$$.toUpperCase(),data:$data$$,configs:JSON.stringify(configs),replace:!0===$req$$.query.update||"true"==$req$$.query.update},$response$$=>{setImmediate(()=>{$req$$.session["import_"+$name$$+($req$$.params.id_app||"")]=!1;if($response$$.error)return $res$$.status(400).send({error:$response$$.error,message:$response$$.message||$response$$.error});if(0===$response$$.result.rows_error.length)return $res$$.send($response$$.result);let $message$$=$response$$.result.rows_error.map($r$jscomp$0$$=>
|
|
215
215
|
$r$jscomp$0$$.error.map($r$$=>$r$$.error||$r$$).join(", ")).join(", ");return $res$$.status(400).send({error:$response$$.result,message:$message$$})})}):$ctrl$$.import($req$$.user,$req$$.user.current_id_app,$data$$,($e$$,$rs$$)=>{$req$$.session["import_"+$name$$+($req$$.params.id_app||"")]=!1;setImmediate(()=>{if($e$$)return console.error("import",$e$$),$e$$.error?($e$$.message=$e$$.message||$e$$.error,$res$$.status(400).send($e$$)):$res$$.status(400).send({error:$e$$.message||$e$$,message:$e$$.message||
|
|
216
216
|
$e$$});if(0===$rs$$.rows_error.length)$res$$.send($rs$$);else{let $message$$=$rs$$.rows_error.map($r$jscomp$0$$=>$r$jscomp$0$$.error.map($r$$=>$r$$.error||$r$$).join(", ")).join(", ");$res$$.status(400).send({message:$message$$,error:$rs$$.error||$rs$$})}})},{replace:!0===$req$$.query.update||"true"==$req$$.query.update,req:$req$$})})};
|
|
217
|
-
const PostBook=require("../libs/post-book"),
|
|
218
|
-
$obj
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
function($
|
|
226
|
-
$
|
|
227
|
-
$
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
$
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
$
|
|
243
|
-
|
|
244
|
-
|
|
217
|
+
const PostBook=require("../libs/post-book"),Sokho=global.getModel("sokho"),Sokhott=global.getModel("sokhott"),Sokhokhongton=global.getModel("sokhokhongton"),dmvt=global.getModel("dmvt"),Tdttno=global.getModel("tdttno"),Tdttno_tt=global.getModel("tdttno_tt"),Tdttco_tt=global.getModel("tdttco_tt"),Tdttco=global.getModel("tdttco"),Vatra=global.getModel("vatra"),Vatvao=global.getModel("vatvao"),deletePost=function($user$$,$obj$$,$callback$jscomp$1$$){$obj$$.toObject&&($obj$$=$obj$$.toObject());if(!$obj$$._id)return console.error("Error when delete post: obj does not have _id",
|
|
218
|
+
$obj$$),$callback$jscomp$1$$("Error when delete post: obj does not have _id",$obj$$);async.series({delete_model_books_registed:$callback$jscomp$0$$=>{setImmediate(()=>{if(!global.model_books)return $callback$jscomp$0$$();async.mapSeries(global.model_books.filter($d$$=>"sokho"!==$d$$&&"sokhonpp"!==$d$$&&"sokhott"!==$d$$&&"sokhokhongton"!==$d$$&&"socai"!==$d$$&&"socaitmp"!==$d$$),($bookName$$,$callback$$)=>{setImmediate(()=>{let $book$$=mongoose.models[$bookName$$.toLowerCase()];$book$$?$book$$.deleteMany({id_ct:$obj$$._id.toString()},
|
|
219
|
+
$e$$=>{$callback$$($e$$)}):$callback$$()})},$e$$=>{$callback$jscomp$0$$($e$$)})})},sk:$callback$jscomp$0$$=>{setImmediate(()=>{(new PostBook($obj$$,$obj$$.details,Sokho,function($detail$$,$callback$$){$callback$$($detail$$)})).remove(function($e$$){$callback$jscomp$0$$($e$$)})})},sktt:$callback$jscomp$0$$=>{setImmediate(()=>{(new PostBook($obj$$,$obj$$.details,Sokhott,function($detail$$,$callback$$){$callback$$($detail$$)})).remove(function($e$$){$callback$jscomp$0$$($e$$)})})},skkhongton:$callback$jscomp$0$$=>
|
|
220
|
+
{setImmediate(()=>{(new PostBook($obj$$,$obj$$.details,Sokhokhongton,function($detail$$,$callback$$){$callback$$($detail$$)})).remove(function($e$$){$callback$jscomp$0$$($e$$)})})},sknpp:$callback$jscomp$0$$=>{setImmediate(()=>{(new PostBook($obj$$,$obj$$.details,global.getModel("sokhonpp"),function($detail$$,$callback$$){$callback$$($detail$$)})).remove(function($e$$){$callback$jscomp$0$$($e$$)})})},vsc:$callback$$=>{setImmediate(()=>{if(global.model_books&&0<=global.model_books.indexOf("vsocai"))return $callback$$();
|
|
221
|
+
vsocai.deleteMany({id_ct:$obj$$._id.toString()},function($error$$){$callback$$($error$$)})})},sc:$callback$$=>{setImmediate(()=>{Socai.deleteMany({id_ct:$obj$$._id.toString()},function($error$$){$callback$$($error$$)})})},sctmp:$callback$$=>{setImmediate(()=>{global.getModel("socaitmp").deleteMany({id_ct:$obj$$._id.toString()},function($error$$){$callback$$($error$$)})})},vatra:$callback$$=>{setImmediate(()=>{if(global.model_books&&0<=global.model_books.indexOf("vatra"))return $callback$$();Vatra.deleteMany({id_ct:$obj$$._id.toString()},
|
|
222
|
+
function($error$$){$callback$$($error$$)})})},vatvao:$callback$$=>{setImmediate(()=>{if(global.model_books&&0<=global.model_books.indexOf("vatvao"))return $callback$$();Vatvao.deleteMany({id_ct:$obj$$._id.toString()},function($error$$){$callback$$($error$$)})})},tdttno:$callback$$=>{setImmediate(async()=>{let $tdtts$$=await Tdttno.find({id_ct:$obj$$._id.toString()},{_id:1,tat_toan:1}).lean();if(0<$tdtts$$.length){if(0<$tdtts$$.filter($t$$=>$t$$.tat_toan).length)return $callback$$(null);$tdtts$$=$tdtts$$.map($t$$=>
|
|
223
|
+
$t$$._id.toString());if(await Tdttno_tt.findOne({id_tdtt:{$in:$tdtts$$}}))return $callback$$()}Tdttno.deleteMany({id_ct:$obj$$._id.toString()},function($error$$){$callback$$($error$$)})})},tdttco:$callback$$=>{setImmediate(async()=>{let $tdtts$$=await Tdttco.find({id_ct:$obj$$._id.toString()},{_id:1,tat_toan:1}).lean();if(0<$tdtts$$.length){if(0<$tdtts$$.filter($t$$=>$t$$.tat_toan).length)return $callback$$(null);$tdtts$$=$tdtts$$.map($t$$=>$t$$._id.toString());if(await Tdttco_tt.findOne({id_tdtt:{$in:$tdtts$$}}))return $callback$$()}Tdttco.deleteMany({id_ct:$obj$$._id.toString()},
|
|
224
|
+
function($error$$){$callback$$($error$$)})})},tdttno_tt:$callback$jscomp$0$$=>{setImmediate(()=>{Tdttno_tt.deleteMany({id_ct:$obj$$._id.toString()},function($error$jscomp$0$$){if($error$jscomp$0$$)return $callback$jscomp$0$$($error$jscomp$0$$);$obj$$.tdttnos?async.mapSeries($obj$$.tdttnos,function($detail$$,$callback$$){setImmediate(()=>{Tdttno.findOneAndUpdate({_id:$detail$$.id_tdtt},{$set:{tat_toan:!1}},function($error$$){setImmediate(()=>{if($error$$)return $callback$$($error$$);$callback$$()})})})},
|
|
225
|
+
function($e$$){$e$$&&console.error($e$$);$callback$jscomp$0$$()}):$callback$jscomp$0$$()})})},tdttco_tt:$callback$jscomp$0$$=>{setImmediate(()=>{Tdttco_tt.deleteMany({id_ct:$obj$$._id.toString()},function($error$jscomp$0$$){if($error$jscomp$0$$)return $callback$jscomp$0$$($error$jscomp$0$$);$obj$$.tdttcos?async.mapSeries($obj$$.tdttcos,function($detail$$,$callback$$){setImmediate(()=>{Tdttco.findOneAndUpdate({_id:$detail$$.id_tdtt},{$set:{tat_toan:!1}},function($error$$){setImmediate(()=>{if($error$$)return $callback$$($error$$);
|
|
226
|
+
$callback$$()})})})},function($e$$){$e$$&&console.error($e$$);$callback$jscomp$0$$()}):$callback$jscomp$0$$()})})}},function($e$$){$e$$&&console.error("delete books",$e$$);$callback$jscomp$1$$($e$$,$obj$$)})},runWebhooks=controller.runWebhooks=async($ctrl$$,$obj$$,$action$$,$voucher_options$$)=>{$voucher_options$$||($voucher_options$$=(await OptionsModel.findOne({id_app:$obj$$.id_app,id_func:$ctrl$$.name},{option:1}).lean()||{}).option);if($voucher_options$$&&$voucher_options$$.option_webhooks&&($ctrl$$=
|
|
227
|
+
$voucher_options$$.option_webhooks.find($w$$=>$w$$.action.toUpperCase()===$action$$.toUpperCase()&&$w$$.url))){$voucher_options$$=path.dirname(__dirname)+"/workers/webhook.js";if(!fs.existsSync($voucher_options$$))return console.error("webhook process is not exitst");global.webhookPool||(global.webhookPool=new StaticPool($voucher_options$$));global.webhookPool.exec({data:$obj$$,webhook_configs:$ctrl$$},$response$$=>{$response$$.error?console.error("runWebhooks",$response$$.error):console.log($response$$)})}},
|
|
228
|
+
postData=controller.postData=function($obj$$,$ctrl$$,$callback$jscomp$0$$,$options$$={}){const $post$$=$ctrl$$.dynamicPost||$ctrl$$.post;if(!$post$$)return $callback$jscomp$0$$();let $obj_created$$=$obj$$.toObject?$obj$$.toObject():{...$obj$$};Object.keys($obj_created$$).forEach($key$$=>{let $p$$=$obj_created$$[$key$$];$p$$&&($p$$.toObject&&($obj_created$$[$key$$]=$p$$.toObject()),underscore.isArray($p$$)&&($obj_created$$[$key$$]=$p$$.map($el$$=>$el$$?$el$$.toObject?$el$$.toObject():$el$$:$el$$)))});
|
|
229
|
+
$ctrl$$.beforePost||($ctrl$$.beforePost=function($obj_created$$,$callback$$){$callback$$(null,null)});$ctrl$$.beforePost($obj_created$$,function($e$jscomp$3$$){if($e$jscomp$3$$)return $callback$jscomp$0$$($e$jscomp$3$$);deletePost($obj_created$$.user_updated,$obj_created$$,async function($e$jscomp$2$$){if($e$jscomp$2$$)return $callback$jscomp$0$$($e$jscomp$2$$);if($ctrl$$.dynamicDeletePost)try{await $ctrl$$.dynamicDeletePost($obj_created$$)}catch($e$$){return $callback$jscomp$0$$($e$$.message||$e$$.error||
|
|
230
|
+
$e$$)}setImmediate(()=>{if($obj_created$$.trang_thai||0==$obj_created$$.trang_thai)$obj_created$$.trang_thai=$obj_created$$.trang_thai.toString();trangthai.findOne({ma_ct:($obj_created$$.ma_ct||"").toUpperCase(),ma_trang_thai:$obj_created$$.trang_thai},function($e$jscomp$1$$,$trang_thai$$){if($e$jscomp$1$$)return $callback$jscomp$0$$($e$jscomp$1$$);if($trang_thai$$&&!$trang_thai$$.post)return $callback$jscomp$0$$();setImmediate(()=>{$post$$($obj_created$$,function($e$jscomp$0$$,$rs$$){setImmediate(()=>
|
|
231
|
+
{if($e$jscomp$0$$){let $msg_error$$=$e$jscomp$0$$.message||$e$jscomp$0$$.error||$e$jscomp$0$$.toString();if(0<=$msg_error$$.indexOf("E11000 duplicate")&&(0<=$msg_error$$.indexOf("id_ct_1_nh_dk_1")||0<=$msg_error$$.indexOf("id_ct_1_line_1")))return $callback$jscomp$0$$(null,$rs$$);console.error("error post data",$obj_created$$._id,$msg_error$$);deletePost($obj_created$$.user_updated,$obj_created$$,async function($e_delete_post$$){if($e_delete_post$$)return console.error("error delete post",$e_delete_post$$),
|
|
232
|
+
$callback$jscomp$0$$($e_delete_post$$);console.error("deleted books because error post");if($ctrl$$.dynamicDeletePost)try{return await $ctrl$$.dynamicDeletePost($obj_created$$),$callback$jscomp$0$$($e$jscomp$0$$.message||$e$jscomp$0$$.error||$e$jscomp$0$$)}catch($e$$){return console.error("dynamicDeletePost",$e$$.message||$e$$.error||$e$$),$callback$jscomp$0$$($e$$)}else $callback$jscomp$0$$($e$jscomp$0$$)})}else $callback$jscomp$0$$(null,$rs$$)})},$options$$)})})})})})},pushNotification=controller.pushNotification=
|
|
233
|
+
($ctrl$$,$_obj$$,$eventName$$="new",$old_obj$$=null,$justFireEvents$$=!1,$options$$={title:"",data:{}})=>{setImmediate(async()=>{if($_obj$$.status){var $obj$jscomp$0$$=$_obj$$.toObject?$_obj$$.toObject():{...$_obj$$};$obj$jscomp$0$$._id=$obj$jscomp$0$$._id.toString();$options$$||($options$$={});var $exclude_token$$=$options$$.exclude_token,$trang_thai$$=($obj$jscomp$0$$.trang_thai||(0==$obj$jscomp$0$$.progress?"0":$obj$jscomp$0$$.progress)||"").toString();if($old_obj$$&&!$justFireEvents$$){var $id_func_listinfos$$=
|
|
234
|
+
($old_obj$$.trang_thai||(0==$old_obj$$.progress?"0":$old_obj$$.progress)||"").toString();$id_func_listinfos$$===$trang_thai$$&&($justFireEvents$$=!0)}$id_func_listinfos$$=$obj$jscomp$0$$.listinfo_code;$id_func_listinfos$$||($id_func_listinfos$$=(await global.getModel("listinfo").find({api_code:$ctrl$$.name},{code:1}).lean()).map($a$$=>$a$$.code),$id_func_listinfos$$.push($ctrl$$.name),$id_func_listinfos$$=[...(new Set($id_func_listinfos$$))],$id_func_listinfos$$={$in:$id_func_listinfos$$});$id_func_listinfos$$=
|
|
235
|
+
(await OptionsModel.find({id_app:$obj$jscomp$0$$.id_app,id_func:$id_func_listinfos$$,option:{$exists:!0}},{option:1}).lean()).filter($v$$=>$v$$.option&&$v$$.option.users_receive_notification).map($v$$=>$v$$.option.users_receive_notification).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]);0===$id_func_listinfos$$.length&&($id_func_listinfos$$=await Promise.all((($ctrl$$.options||{}).users_receive_notification_default||[]).map($n$$=>new Promise($resolve$$=>{setImmediate(async()=>{underscore.isFunction($n$$)?
|
|
236
|
+
$resolve$$(await $n$$($obj$jscomp$0$$)):$resolve$$($n$$)})}))));$id_func_listinfos$$&&($id_func_listinfos$$=$id_func_listinfos$$.filter($u$$=>!$u$$.trang_thai||$u$$.trang_thai.toString()===$trang_thai$$||"delete"===$u$$.trang_thai.toString()),$id_func_listinfos$$=$id_func_listinfos$$.filter($func_string$jscomp$1_n$$=>{if(!$func_string$jscomp$1_n$$.condition||!$func_string$jscomp$1_n$$.condition.trim())return!0;$func_string$jscomp$1_n$$=$func_string$jscomp$1_n$$.condition;0>$func_string$jscomp$1_n$$.indexOf("return ")&&
|
|
237
|
+
($func_string$jscomp$1_n$$=`return ${$func_string$jscomp$1_n$$}`);try{return evalute($func_string$jscomp$1_n$$,{...$obj$jscomp$0$$,master:$obj$jscomp$0$$,data:$obj$jscomp$0$$})}catch($e$$){return console.error("pushNotification",$e$$,$func_string$jscomp$1_n$$),!1}}),$id_func_listinfos$$.forEach(async $p$jscomp$0$$=>{setImmediate(async()=>{let $_justFireEvents$$=$justFireEvents$$;$p$jscomp$0$$.just_fire_events&&($_justFireEvents$$=$p$jscomp$0$$.just_fire_events);let $notificationData$$={_id:$obj$jscomp$0$$._id,
|
|
238
|
+
trang_thai:$trang_thai$$,id_app:$obj$jscomp$0$$.id_app,code:$obj$jscomp$0$$.ma_ct||$ctrl$$.name,id_link:$obj$jscomp$0$$.id_link,code_link:$obj$jscomp$0$$.code_link,event:$eventName$$,action:$eventName$$.toUpperCase(),data:$options$$.data,key:$options$$.key,not_send_email:$p$jscomp$0$$.not_send_email,justFireEvents:$_justFireEvents$$};if($justFireEvents$$||"delete"===$eventName$$.toLowerCase())$notificationData$$.title="",$notificationData$$.body="";else{try{$notificationData$$.body=$p$jscomp$0$$.body?
|
|
239
|
+
compileHtml($p$jscomp$0$$.body,$obj$jscomp$0$$):""}catch($e$$){$notificationData$$.body=$p$jscomp$0$$.body,console.error($ctrl$$.name,"compileHtml body",$e$$,$obj$jscomp$0$$)}try{$notificationData$$.title=stripHtmlTags(compileHtml($options$$.title||$p$jscomp$0$$.title||$p$jscomp$0$$.content||"",$obj$jscomp$0$$))}catch($e$$){$notificationData$$.title=$options$$.title||$p$jscomp$0$$.title||$p$jscomp$0$$.content||"",console.error($ctrl$$.name,"compileHtml title",$e$$,$obj$jscomp$0$$)}}if($p$jscomp$0$$.email_content)try{$notificationData$$.email_content=
|
|
240
|
+
compileHtml($p$jscomp$0$$.email_content,$obj$jscomp$0$$)}catch($e$$){$notificationData$$.email_content=$p$jscomp$0$$.email_content,console.error($ctrl$$.name,"compileHtml email_content",$e$$,$obj$jscomp$0$$)}$notificationData$$.title||$notificationData$$.body||($exclude_token$$=null);let $users_will_receive$$=$p$jscomp$0$$.users;$users_will_receive$$||($users_will_receive$$=[]);$options$$.users_will_receive&&0<$options$$.users_will_receive.length&&($users_will_receive$$=$users_will_receive$$.concat($options$$.users_will_receive));
|
|
241
|
+
$p$jscomp$0$$.send_phu_trach&&$obj$jscomp$0$$.phu_trach&&($users_will_receive$$=$users_will_receive$$.concat([$obj$jscomp$0$$.phu_trach]));if($p$jscomp$0$$.send_admin){var $admins_of_user_sandbox$$=(await Participant.find({id_app:$obj$jscomp$0$$.id_app,admin:!0}).lean()).map($p$$=>$p$$.email);$users_will_receive$$=$users_will_receive$$.concat($admins_of_user_sandbox$$)}$p$jscomp$0$$.send_attends&&$obj$jscomp$0$$.attends&&($users_will_receive$$=$users_will_receive$$.concat($obj$jscomp$0$$.attends));
|
|
242
|
+
$p$jscomp$0$$.group_id&&($admins_of_user_sandbox$$=(await Participant.find({id_app:$obj$jscomp$0$$.id_app,group_id:$p$jscomp$0$$.group_id}).lean()).map($u$$=>$u$$.email),$users_will_receive$$=$users_will_receive$$.concat($admins_of_user_sandbox$$));$p$jscomp$0$$.send_to_customer&&($obj$jscomp$0$$.ma_kh||$obj$jscomp$0$$.id_kh)&&($admins_of_user_sandbox$$=await mongoose.models.customer.getInfo($obj$jscomp$0$$.id_app,{$or:[{ma_kh:$obj$jscomp$0$$.ma_kh},{_id:$obj$jscomp$0$$.id_kh}]},"of_user"))&&($users_will_receive$$=
|
|
243
|
+
$users_will_receive$$.concat([$admins_of_user_sandbox$$]));$p$jscomp$0$$.send_to_user_created?$users_will_receive$$=$users_will_receive$$.concat([$obj$jscomp$0$$.user_created]):!1===$p$jscomp$0$$.send_to_user_created&&($users_will_receive$$=$users_will_receive$$.filter($u$$=>$u$$!==$obj$jscomp$0$$.user_created));if($p$jscomp$0$$.handle_receivers){$admins_of_user_sandbox$$={obj:$obj$jscomp$0$$,users_will_receive:$users_will_receive$$,utils};try{let $str_func$$=$p$jscomp$0$$.handle_receivers;if(0>$str_func$$.indexOf("async ")){0>
|
|
244
|
+
$str_func$$.indexOf("return ")&&($str_func$$=`return ${$str_func$$}`);let $cust_users_will_receive$$=await evalute(`return (async ()=>{
|
|
245
245
|
try{
|
|
246
246
|
${$str_func$$}
|
|
247
247
|
}catch(e){
|
|
@@ -261,13 +261,13 @@ $e$$.error||$e$$,code:ERR_VERIFY_OTP})}if($ctrl$$.dynamicCreating)try{$v_data$$=
|
|
|
261
261
|
{id_app:$obj$jscomp$0$$.id_app,so_ct:$obj$jscomp$0$$.so_ct},$tu_ngay$$,$den_ngay$$;switch($voucher_options$$.check_so_ct){case "1":$tu_ngay$$=moment($obj$jscomp$0$$.ngay_ct).startOf("day").toDate();$den_ngay$$=moment($obj$jscomp$0$$.ngay_ct).endOf("day").toDate();$query_check$$.ngay_ct={$gte:$tu_ngay$$,$lte:$den_ngay$$};break;case "2":$tu_ngay$$=moment($obj$jscomp$0$$.ngay_ct).startOf("month").toDate();$den_ngay$$=moment($obj$jscomp$0$$.ngay_ct).endOf("month").toDate();$query_check$$.ngay_ct={$gte:$tu_ngay$$,
|
|
262
262
|
$lte:$den_ngay$$};break;case "3":$tu_ngay$$=moment($obj$jscomp$0$$.ngay_ct).startOf("quarter").toDate();$den_ngay$$=moment($obj$jscomp$0$$.ngay_ct).endOf("quarter").toDate();$query_check$$.ngay_ct={$gte:$tu_ngay$$,$lte:$den_ngay$$};break;case "8":$tu_ngay$$=moment($obj$jscomp$0$$.ngay_ct).startOf("year").toDate(),$den_ngay$$=moment($obj$jscomp$0$$.ngay_ct).endOf("year").toDate(),$query_check$$.ngay_ct={$gte:$tu_ngay$$,$lte:$den_ngay$$}}$model$$.findOne($query_check$$,{so_ct:1}).lean().exec(($e$jscomp$0$$,
|
|
263
263
|
$rs$$)=>{setImmediate(()=>{if($rs$$){let $msgError$$="S\u1ed1 ch\u1ee9ng t\u1eeb "+$obj$jscomp$0$$.so_ct+" \u0111\u00e3 t\u1ed3n t\u1ea1i. H\u00e3y ch\u1ecdn m\u1ed9t s\u1ed1 ch\u1ee9ng t\u1eeb kh\u00e1c";if($ctrl$$.options.onErrorCreating)$ctrl$$.options.onErrorCreating($user$jscomp$0$$,$obj$jscomp$0$$,$e$$=>{$e$$&&($msgError$$=$msgError$$+"\n"+$e$$);$callback$$($msgError$$)});else $callback$$($msgError$$)}else $callback$$()})})}else $callback$$()}):$callback$$()};let $File$$=global.getModel("file"),
|
|
264
|
-
$Support$$=global.getModel("support");async.waterfall([function($callback$$){setImmediate(async function(){let $notNeedRight$$=await $ctrl$$.notNeedRight($user$jscomp$0$$,{action:$action$$});permission.hasRight($obj$jscomp$0$$.id_app,$user$jscomp$0$$.email,$ctrl$$.module,$action$$,function($error$$,$hr$$,$c_app$$){setImmediate(()=>{if($error$$||!$hr$$)return $error$$=$error$$||"",$callback$$({error:$error$$.error||$error$$||ERR_NOT_PERMIT,code:$error$$.code||ERR_NOT_PERMIT_CODE})
|
|
265
|
-
$obj$jscomp$0$$,$e$$=>{if($e$$)return $callback$$($e$$);$ctrl$$.creating?$ctrl$$.creating($user$jscomp$0$$,$obj$jscomp$0$$,function($error$jscomp$40_v$$,$_obj$$){if($error$jscomp$40_v$$)return $callback$$($error$jscomp$40_v$$);for(let $f$$ of Object.keys($schema_paths$$))$error$jscomp$40_v$$=$_obj$$.get?$_obj$$.get($f$$):$_obj$$[$f$$],$obj$jscomp$0$$.set($f$$,$error$jscomp$40_v$$);$callback$$(null,$obj$jscomp$0$$)},{data:$data$$,action:$action$$}):$callback$$(null,$obj$jscomp$0$$)})})},
|
|
266
|
-
notNeedRight:$notNeedRight$$})})},($obj$$,$callback$jscomp$0$$)=>{setImmediate(()=>{var $condition_qct$jscomp$1_ma_ct$$=$ctrl$$.name;$condition_qct$jscomp$1_ma_ct$$={status:!0,id_app:$obj$$.id_app,$and:[{$or:[{ma_ct:"#",ma_ct_khac:{$regex:$condition_qct$jscomp$1_ma_ct$$,$options:"i"}},{cac_ma_ct:$condition_qct$jscomp$1_ma_ct$$.toLowerCase()},{ma_ct:$condition_qct$jscomp$1_ma_ct$$.toUpperCase()}]}]};let $_options_qct$$;$_options_qct$$=$obj$$.toObject?$obj$$.toObject():{...$obj$$};
|
|
267
|
-
Object.keys($_options_qct$$);dmqct.find($condition_qct$jscomp$1_ma_ct$$).lean().exec(($e$jscomp$0$$,$rs$jscomp$0$$)=>{setImmediate(()=>{let $qcts$$=($rs$jscomp$0$$||[]).filter($qct$$=>"so_ct"!==$qct$$.field&&!$obj$$[$qct$$.field]&&underscore.has($model$$.schema.paths,$qct$$.field));$qcts$$=$qcts$$.filter($qct$$=>{if($qct$$.dieu_kien&&0<$keys_options$$.length)try{let $str_func$$=$qct$$.dieu_kien;0!==$str_func$$.indexOf("return ")&&($str_func$$=`return ${$str_func$$}`);return 0
|
|
268
|
-
|
|
269
|
-
$field$$,function($e$$,$rs$$){setImmediate(async()=>{if($e$$)return $callback$$($e$$);$obj$$[$field$$]=$rs$$[$field$$];$qct$$.check_duplicate?await $model$$.findOne({id_app:$obj$$.id_app,[$field$$]:$obj$$[$field$$]},{[$field$$]:1}).lean()?9<=$count$$?$callback$$(`Kh\u00f4ng th\u1ec3 t\u1ef1 \u0111\u1ed9ng t\u1ea1o gi\u00e1 cho field ${$field$$}. H\u00e3y s\u1eed d\u1ee5ng quy\u1ec3n ch\u1ee9ng t\u1eeb kh\u00e1c`):($count$$++,$callback$$()):($count$$=99999,$callback$$()):($count$$=99999
|
|
270
|
-
$_options$$)},function($err$$){$cb$jscomp$0$$($err$$)})})},$e$$=>{setImmediate(()=>{$callback$jscomp$0$$($e$$)})})})})})},$callback$jscomp$0$$=>{setImmediate(function(){if(!0===underscore.has($model$$.schema.paths,"so_ct"))if($obj$jscomp$0$$.so_ct&&$obj$jscomp$0$$.so_ct.toUpperCase()!==$ctrl$$.name.toUpperCase())$checkVoucherNumber$$($error$$=>{$callback$jscomp$0$$($error$$)});else{let $count$$=0;async.whilst(function($cb$$){$cb$$(null,10>$count$$)},function($callback$$){getNextSequence($obj$jscomp$0$$.id_app,
|
|
264
|
+
$Support$$=global.getModel("support");async.waterfall([function($callback$$){setImmediate(async function(){let $notNeedRight$$=await $ctrl$$.notNeedRight($user$jscomp$0$$,{action:$action$$,obj:$obj$jscomp$0$$});permission.hasRight($obj$jscomp$0$$.id_app,$user$jscomp$0$$.email,$ctrl$$.module,$action$$,function($error$$,$hr$$,$c_app$$){setImmediate(()=>{if($error$$||!$hr$$)return $error$$=$error$$||"",$callback$$({error:$error$$.error||$error$$||ERR_NOT_PERMIT,code:$error$$.code||ERR_NOT_PERMIT_CODE});
|
|
265
|
+
$ctrl$$.checkData($c_app$$,$obj$jscomp$0$$,$e$$=>{if($e$$)return $callback$$($e$$);$ctrl$$.creating?$ctrl$$.creating($user$jscomp$0$$,$obj$jscomp$0$$,function($error$jscomp$40_v$$,$_obj$$){if($error$jscomp$40_v$$)return $callback$$($error$jscomp$40_v$$);for(let $f$$ of Object.keys($schema_paths$$))$error$jscomp$40_v$$=$_obj$$.get?$_obj$$.get($f$$):$_obj$$[$f$$],$obj$jscomp$0$$.set($f$$,$error$jscomp$40_v$$);$callback$$(null,$obj$jscomp$0$$)},{data:$data$$,action:$action$$}):$callback$$(null,$obj$jscomp$0$$)})})},
|
|
266
|
+
{data:$obj$jscomp$0$$,notNeedRight:$notNeedRight$$})})},($obj$$,$callback$jscomp$0$$)=>{setImmediate(()=>{var $condition_qct$jscomp$1_ma_ct$$=$ctrl$$.name;$condition_qct$jscomp$1_ma_ct$$={status:!0,id_app:$obj$$.id_app,$and:[{$or:[{ma_ct:"#",ma_ct_khac:{$regex:$condition_qct$jscomp$1_ma_ct$$,$options:"i"}},{cac_ma_ct:$condition_qct$jscomp$1_ma_ct$$.toLowerCase()},{ma_ct:$condition_qct$jscomp$1_ma_ct$$.toUpperCase()}]}]};let $_options_qct$$;$_options_qct$$=$obj$$.toObject?$obj$$.toObject():{...$obj$$};
|
|
267
|
+
let $keys_options$$=Object.keys($_options_qct$$);dmqct.find($condition_qct$jscomp$1_ma_ct$$).lean().exec(($e$jscomp$0$$,$rs$jscomp$0$$)=>{setImmediate(()=>{let $qcts$$=($rs$jscomp$0$$||[]).filter($qct$$=>"so_ct"!==$qct$$.field&&!$obj$$[$qct$$.field]&&underscore.has($model$$.schema.paths,$qct$$.field));$qcts$$=$qcts$$.filter($qct$$=>{if($qct$$.dieu_kien&&0<$keys_options$$.length)try{let $str_func$$=$qct$$.dieu_kien;0!==$str_func$$.indexOf("return ")&&($str_func$$=`return ${$str_func$$}`);return 0<
|
|
268
|
+
$str_func$$.indexOf("async ")?!1:evalute($str_func$$,{...$_options_qct$$,master:{...$_options_qct$$},moment,numeral})}catch($e$$){return console.error("Error find quyen chung tu",$e$$.message,$qct$$.dieu_kien),!1}else return!0});async.mapSeries($qcts$$,($qct$$,$cb$jscomp$0$$)=>{setImmediate(()=>{let $field$$=$qct$$.field,$_options$$={...$_options_qct$$};$_options$$.id_qct=$qct$$._id.toString();let $count$$=0;async.whilst(function($cb$$){$cb$$(null,10>$count$$)},function($callback$$){getNextSequence($obj$$.id_app,
|
|
269
|
+
$ctrl$$.name,$field$$,function($e$$,$rs$$){setImmediate(async()=>{if($e$$)return $callback$$($e$$);$obj$$[$field$$]=$rs$$[$field$$];$qct$$.check_duplicate?await $model$$.findOne({id_app:$obj$$.id_app,[$field$$]:$obj$$[$field$$]},{[$field$$]:1}).lean()?9<=$count$$?$callback$$(`Kh\u00f4ng th\u1ec3 t\u1ef1 \u0111\u1ed9ng t\u1ea1o gi\u00e1 cho field ${$field$$}. H\u00e3y s\u1eed d\u1ee5ng quy\u1ec3n ch\u1ee9ng t\u1eeb kh\u00e1c`):($count$$++,$callback$$()):($count$$=99999,$callback$$()):($count$$=99999,
|
|
270
|
+
$callback$$())})},$_options$$)},function($err$$){$cb$jscomp$0$$($err$$)})})},$e$$=>{setImmediate(()=>{$callback$jscomp$0$$($e$$)})})})})})},$callback$jscomp$0$$=>{setImmediate(function(){if(!0===underscore.has($model$$.schema.paths,"so_ct"))if($obj$jscomp$0$$.so_ct&&$obj$jscomp$0$$.so_ct.toUpperCase()!==$ctrl$$.name.toUpperCase())$checkVoucherNumber$$($error$$=>{$callback$jscomp$0$$($error$$)});else{let $count$$=0;async.whilst(function($cb$$){$cb$$(null,10>$count$$)},function($callback$$){getNextSequence($obj$jscomp$0$$.id_app,
|
|
271
271
|
$ctrl$$.name,"so_ct",function($e$$,$rs$$){setImmediate(()=>{if($e$$)return $callback$$($e$$);$obj$jscomp$0$$.so_ct=$rs$$.so_ct;$checkVoucherNumber$$($error$$=>{$error$$?9<=$count$$?$callback$$($error$$):($count$$++,$callback$$()):($count$$=99999,$callback$$())})})},$obj$jscomp$0$$)},function($err$$){$callback$jscomp$0$$($err$$)})}else $callback$jscomp$0$$()})},function($callback$$){setImmediate(async()=>{if(underscore.has($model$$.schema.paths,"ma_dvcs")&&"dvcs"!==$ctrl$$.name)if($obj$jscomp$0$$.ma_dvcs)if(global.mongoose.Types.ObjectId.isValid($obj$jscomp$0$$.ma_dvcs)){let $_id_dvcs$$=
|
|
272
272
|
global.mongoose.Types.ObjectId($obj$jscomp$0$$.ma_dvcs);await dvcs.findOne({_id:$_id_dvcs$$})?$callback$$():dvcs.create({_id:$_id_dvcs$$,ma_dvcs:"IMPORTED",ten_dvcs:"Imported"},$e$$=>{setImmediate(()=>{$e$$&&console.error("Can't import dvcs",$e$$);$callback$$()})})}else $callback$$();else dvcs.findOne({id_app:$obj$jscomp$0$$.id_app,status:!0}).lean().exec(function($e$$,$rs$$){setImmediate(()=>{$rs$$&&($obj$jscomp$0$$.ma_dvcs=$rs$$._id.toString());$callback$$()})});else $callback$$()})},$callback$$=>
|
|
273
273
|
{$ctrl$$.validating||($ctrl$$.validating=($user$$,$obj$$,$next$$)=>{$next$$(null,$obj$$)});$ctrl$$.validating($user$jscomp$0$$,$obj$jscomp$0$$,$e$jscomp$0$$=>{if($e$jscomp$0$$)return $callback$$($e$jscomp$0$$);setImmediate(()=>{$obj$jscomp$0$$.user_created="import"==$action$$?$obj$jscomp$0$$.user_created||$user$jscomp$0$$.email:$user$jscomp$0$$.email;$obj$jscomp$0$$.user_updated=$user$jscomp$0$$.email;$obj$jscomp$0$$.date_created=new Date;$obj$jscomp$0$$.date_updated=new Date;validate($obj$jscomp$0$$,
|
|
@@ -280,11 +280,11 @@ $obj$jscomp$0$$,$e$$=>{$e$$&&console.error("onErrorCreating",$e$$);$callback$$($
|
|
|
280
280
|
console.error("deletePost",$e_delete_post$$)})})}),$ctrl$$.options.onErrorCreating)$ctrl$$.options.onErrorCreating($user$jscomp$0$$,$obj$jscomp$0$$,$e$$=>{$e$$&&($msgErrors$$=$msgErrors$$+"\n"+$e$$);$callback$$($msgErrors$$)});else $callback$$($msgErrors$$);else if($ctrl$$.emit("saved",$obj_created$$),$ctrl$$.emit("created",$obj_created$$),global.getModel("customer").updateActives&&global.getModel("customer").updateActives($obj_created$$),$obj_created$$=$obj_created$$.toObject(),$req$$&&$req$$.header&&
|
|
281
281
|
setImmediate(()=>{log.create({id_app:$user$jscomp$0$$.current_id_app,id_func:$ctrl$$.name,action:$action$$.toUpperCase(),data:{id:$obj_created$$._id.toString(),data:$obj_created$$}},$user$jscomp$0$$.email,$req$$.header("user-agent"),$req$$)}),runWebhooks($ctrl$$,$obj_created$$,$action$$.toUpperCase(),$voucher_options$$),await $ctrl$$.cacheData($obj_created$$,void 0,$action$$),"import"===$action$$||$req$$&&0==($req$$.query||{}).return_data)$callback$$(null,{_id:$obj_created$$._id.toString()});else $ctrl$$.onView($user$jscomp$0$$,
|
|
282
282
|
[$obj_created$$],($error$$,$viewValue$$)=>{setImmediate(()=>{if($error$$)return $callback$$($error$$);$req$$&&pushNotification($ctrl$$,$viewValue$$?$viewValue$$[0]:$obj_created$$,"new",null,null,{exclude_token:($req$$.query||{}).access_token});$callback$$(null,$obj_created$$)})},{req:$req$$})})},{req:$req$$})})})}})})})},function($obj$$,$callback$$){$ctrl$$.requestApprove($user$jscomp$0$$.current_app_info,$user$jscomp$0$$,$obj$$,$callback$$,$voucher_options$$)},function($obj$$,$callback$$){setImmediate(function(){$obj$$.collection_name=
|
|
283
|
-
$ctrl$$.collection_name;$obj$$.exfields&&$obj$$.exfields.__files__&&($obj$$.exfields.__files__.forEach($_file$$=>{$File$$.
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
"
|
|
287
|
-
|
|
283
|
+
$ctrl$$.collection_name;$obj$$.exfields&&$obj$$.exfields.__files__&&($obj$$.exfields.__files__.forEach($_file$$=>{$File$$.updateOne({_id:$_file$$._id},{id_link:$obj$$._id.toString(),collection_link:$ctrl$$.collection_name}).lean().exec($e$$=>{$e$$&&console.error("File updateone",$e$$)})}),delete $obj$$.exfields.__files__);$obj$$.exfields&&$obj$$.exfields.__supports__&&($obj$$.exfields.__supports__.forEach($_file$$=>{$Support$$.updateOne({_id:$_file$$._id},{id_link:$obj$$._id.toString(),collection_link:$ctrl$$.collection_name}).lean().exec($e$$=>
|
|
284
|
+
{console.error("support updateone",$e$$)})}),delete $obj$$.exfields.__supports__);if($ctrl$$.created)$ctrl$$.created($user$jscomp$0$$,$obj$$,function($error$jscomp$0$$,$rs$$){setImmediate(()=>{if($error$jscomp$0$$)return $callback$$($error$jscomp$0$$);if($ctrl$$.dynamicCreated)$ctrl$$.dynamicCreated($user$jscomp$0$$,$rs$$,function($error$$){if($error$$)return $callback$$($error$$);$req$$&&$req$$.uploadFile?($error$$="<html><title>OK</title><body>"+JSON.stringify($rs$$)+"</body></html>",$callback$$(null,
|
|
285
|
+
$error$$)):$callback$$(null,$rs$$)});else if($req$$&&$req$$.uploadFile){let $html$$="<html><title>OK</title><body>"+JSON.stringify($rs$$)+"</body></html>";$callback$$(null,$html$$)}else $callback$$(null,$rs$$)})});else if($ctrl$$.dynamicCreated)$ctrl$$.dynamicCreated($user$jscomp$0$$,$obj$$,function($error$jscomp$49_html$$){if($error$jscomp$49_html$$)return $callback$$($error$jscomp$49_html$$);$req$$&&$req$$.uploadFile?($error$jscomp$49_html$$="<html><title>OK</title><body>"+JSON.stringify($obj$$)+
|
|
286
|
+
"</body></html>",$callback$$(null,$error$jscomp$49_html$$)):$callback$$(null,$obj$$)});else if($req$$&&$req$$.uploadFile){let $html$$="<html><title>OK</title><body>"+JSON.stringify($obj$$)+"</body></html>";$callback$$(null,$html$$)}else $callback$$(null,$obj$$)})}],($e$jscomp$158_name_cached$$,$rs$$)=>{$e$jscomp$158_name_cached$$?(console.error($e$jscomp$158_name_cached$$),$callback$jscomp$1$$($e$jscomp$158_name_cached$$)):($e$jscomp$158_name_cached$$=$model$$.collection.name,$user$jscomp$0$$.current_id_app&&
|
|
287
|
+
($e$jscomp$158_name_cached$$+=$user$jscomp$0$$.current_id_app),delete global.cacheDatas[$e$jscomp$158_name_cached$$],$callback$jscomp$1$$(null,$rs$$))})}catch($e$$){console.error($e$$),$callback$jscomp$1$$($e$$)}};
|
|
288
288
|
controller.prototype.create=function(){let $name$$=this.name,$ctrl$$=this;this.router.route(this.route_name).post(function($req$$,$res$$){let $session$$=$req$$.session;if(!0===$session$$["creating_"+$name$$])return $res$$.status(400).send({error:"\u0110ang x\u1eed l\u00fd d\u1eef li\u1ec7u"});$session$$["creating_"+$name$$]=!0;let $body$$=$req$$.body;if(!$body$$)return $res$$.status(411).send({error:"Kh\u00f4ng c\u00f3 n\u1ed9i dung c\u1ea7n l\u01b0u"});$req$$.files&&0<underscore.keys($req$$.files).length&&
|
|
289
289
|
("JSON"!=$body$$.return&&($req$$.uploadFile=!0),underscore.extend($body$$,$req$$.files));create($req$$.user,$ctrl$$,$body$$,($e$$,$rs$$)=>{setImmediate(()=>{$session$$["creating_"+$name$$]=!1;if($e$$)return console.error($e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});!1===$req$$.query.return_data?$res$$.send({_id:$rs$$._id.toString()}):$res$$.send($rs$$)})},null,$req$$)})};
|
|
290
290
|
controller.prototype.quickCreate=function(){let $model$$=this.model,$name$$=this.name,$ctrl$$=this,$createFromTemplate$$=async($req$$,$res$$,$body$jscomp$4_query$$)=>{let $session$$=$req$$.session;if(!0===$session$$["creating_"+$name$$])return $res$$.status(400).send({error:"\u0110ang x\u1eed l\u00fd d\u1eef li\u1ec7u"});$session$$["creating_"+$name$$]=!0;if(!$body$jscomp$4_query$$){$body$jscomp$4_query$$=$req$$.params.template_code;if(!$body$jscomp$4_query$$)return $session$$["creating_"+$name$$]=
|
|
@@ -297,42 +297,44 @@ underscore.has($schema_paths$$,"session_updated")&&($data$jscomp$1$$.session_upd
|
|
|
297
297
|
$e$$.error||$e$$)}}let $requireOtp$$=$ctrl$$.options.requireOtp;$requireOtp$$&&_.isFunction($requireOtp$$)&&($requireOtp$$=$requireOtp$$($data$jscomp$1$$,{action:$_action$$,_id:$id$$,user:$user$jscomp$0$$}));if($requireOtp$$&&"import"!==$_action$$)try{await permission.verifyOTP($user$jscomp$0$$.email,$data$jscomp$1$$["otp-id"],$data$jscomp$1$$["otp-code"])}catch($e$$){return $callback$jscomp$1$$({error:$e$$.message||$e$$.error||$e$$,code:ERR_VERIFY_OTP})}async.waterfall([function($callback$$){setImmediate(function(){$model$$.findOne({_id:$id$$}).exec(function($error$$,
|
|
298
298
|
$obj$$){setImmediate(async()=>{if($error$$)return $callback$$($error$$);if(!$obj$$)return $callback$$("Kh\u00f4ng th\u1ec3 t\u00ecm th\u1ea5y \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y");$data$jscomp$1$$.trang_thai&&($data$jscomp$1$$.trang_thai=$data$jscomp$1$$.trang_thai.toString());if($data$jscomp$1$$.trang_thai||$obj$$.trang_thai){var $old_obj$$={id_ct:$obj$$._id.toString(),user_approved:{$exists:!0}};$old_obj$$.trang_thai=($data$jscomp$1$$.trang_thai||$obj$$.trang_thai||"").toString();if(await Approve.findOne($old_obj$$))return $callback$$("Kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt ch\u1ee9ng t\u1eeb \u1edf tr\u1ea1ng th\u00e1i n\u00e0y do n\u00f3 \u0111\u00e3 \u0111\u01b0\u1ee3c duy\u1ec7t")}if($obj$$.ngay_ct&&
|
|
299
299
|
$obj$$.id_app&&$obj$$.schema&&$obj$$.schema.validate&&$obj$$.schema.validate.ngay_ct)try{await new Promise(($rs$$,$rj$$)=>{validator.unlockBook[0]($obj$$.id_app,$obj$$.ngay_ct,$unlock$$=>{if(!$unlock$$)return $rj$$(validator.unlockBook[1]);$rs$$($unlock$$)},$voucher_options$$)})}catch($e$$){return $callback$$($e$$.message||$e$$.error||$e$$)}underscore.has($schema_paths$$,"exfields")&&($obj$$.exfields=$obj$$.exfields||{});$old_obj$$=$obj$$.toObject();$current_obj$$=_.cloneDeep($old_obj$$);const $data_keys$$=
|
|
300
|
-
Object.keys($data$jscomp$1$$);for(let $key$$ in $old_obj$$)0>$data_keys$$.indexOf($key$$)&&($data$jscomp$1$$[$key$$]=$old_obj$$[$key$$]);$callback$$(null,$obj$$)})})})},function($obj$$,$callback$$){setImmediate(async function(){let $notNeedRight$$=await $ctrl$$.notNeedRight($user$jscomp$0$$,{action:$action$jscomp$0$$,data:$data$jscomp$1$$,obj:$
|
|
301
|
-
{if($hr$$)$ctrl$$.checkData($c_app$$,{...$data$jscomp$1$$,_id:$obj$$._id.toString()},$e$$=>{if($e$$)return $callback$$($e$$);$callback$$(null,$obj$$)});else return $callback$$({error:$error$$.error||$error$$||ERR_NOT_PERMIT,code:$error$$.code||ERR_NOT_PERMIT_CODE})})},{
|
|
302
|
-
$
|
|
303
|
-
|
|
304
|
-
$date_check_den_ngay$$=moment($date_check_den_ngay$$).endOf("
|
|
305
|
-
$
|
|
306
|
-
|
|
307
|
-
$
|
|
308
|
-
|
|
309
|
-
$
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
$
|
|
313
|
-
|
|
314
|
-
$
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
$
|
|
318
|
-
$
|
|
319
|
-
$
|
|
320
|
-
|
|
321
|
-
$
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
$
|
|
325
|
-
|
|
326
|
-
$obj$jscomp$0$$
|
|
300
|
+
Object.keys($data$jscomp$1$$);for(let $key$$ in $old_obj$$)0>$data_keys$$.indexOf($key$$)&&($data$jscomp$1$$[$key$$]=$old_obj$$[$key$$]);$callback$$(null,$obj$$)})})})},function($obj$$,$callback$jscomp$0$$){setImmediate(async function(){let $notNeedRight$$=await $ctrl$$.notNeedRight($user$jscomp$0$$,{action:$action$jscomp$0$$,data:$data$jscomp$1$$,obj:$current_obj$$});async.series({old_data:$callback$$=>{permission.hasRight($user$jscomp$0$$.current_id_app,$user$jscomp$0$$.email,$module$$,$_action$$,
|
|
301
|
+
function($error$$,$hr$$,$c_app$$){setImmediate(()=>{if($hr$$)$ctrl$$.checkData($c_app$$,{...$data$jscomp$1$$,_id:$obj$$._id.toString()},$e$$=>{if($e$$)return $callback$$($e$$);$callback$$(null,$obj$$)});else return $callback$$({error:$error$$.error||$error$$||ERR_NOT_PERMIT,code:$error$$.code||ERR_NOT_PERMIT_CODE})})},{obj:$current_obj$$,notNeedRight:$notNeedRight$$})},new_data:$callback$$=>{permission.hasRight($user$jscomp$0$$.current_id_app,$user$jscomp$0$$.email,$module$$,$_action$$,function($error$$,
|
|
302
|
+
$hr$$,$c_app$$){setImmediate(()=>{if($hr$$)$ctrl$$.checkData($c_app$$,{...$data$jscomp$1$$,_id:$obj$$._id.toString()},$e$$=>{if($e$$)return $callback$$($e$$);$callback$$(null,$obj$$)});else return $callback$$({error:$error$$.error||$error$$||ERR_NOT_PERMIT,code:$error$$.code||ERR_NOT_PERMIT_CODE})})},{data:$data$jscomp$1$$,obj:$current_obj$$,notNeedRight:$notNeedRight$$})}},$e$$=>{$callback$jscomp$0$$($e$$,$obj$$)})})},function($obj$$,$callback$$){underscore.has($model$$.schema.paths,"ngay_ct")&&
|
|
303
|
+
underscore.has($model$$.schema.paths,"so_ct")&&$obj$$.ngay_ct&&$data$jscomp$1$$.so_ct&&$obj$$.so_ct!==$data$jscomp$1$$.so_ct?OptionsModel.findOne({id_app:$obj$$.id_app,id_func:$ctrl$$.name},{option:1}).lean().exec(($e$jscomp$0$$,$rs$jscomp$0$$)=>{setImmediate(()=>{if($rs$jscomp$0$$&&$rs$jscomp$0$$.option&&$rs$jscomp$0$$.option.check_so_ct&&"0"!==$rs$jscomp$0$$.option.check_so_ct){let $query_check$$={id_app:$obj$$.id_app,so_ct:$data$jscomp$1$$.so_ct,_id:{$ne:$obj$$._id.toString()}},$tu_ngay$$;var $date_check_den_ngay$$=
|
|
304
|
+
$data$jscomp$1$$.ngay_ct||$obj$$.ngay_ct;switch($rs$jscomp$0$$.option.check_so_ct){case "1":$tu_ngay$$=moment($date_check_den_ngay$$).startOf("date").toDate();$date_check_den_ngay$$=moment($date_check_den_ngay$$).endOf("date").toDate();$query_check$$.ngay_ct={$gte:$tu_ngay$$,$lte:$date_check_den_ngay$$};break;case "2":$tu_ngay$$=moment($date_check_den_ngay$$).startOf("month").toDate();$date_check_den_ngay$$=moment($date_check_den_ngay$$).endOf("month").toDate();$query_check$$.ngay_ct={$gte:$tu_ngay$$,
|
|
305
|
+
$lte:$date_check_den_ngay$$};break;case "3":$tu_ngay$$=moment($date_check_den_ngay$$).startOf("quarter").toDate();$date_check_den_ngay$$=moment($date_check_den_ngay$$).endOf("quarter").toDate();$query_check$$.ngay_ct={$gte:$tu_ngay$$,$lte:$date_check_den_ngay$$};break;case "8":$tu_ngay$$=moment($date_check_den_ngay$$).startOf("year").toDate(),$date_check_den_ngay$$=moment($date_check_den_ngay$$).startOf("year").toDate(),$query_check$$.ngay_ct={$gte:$tu_ngay$$,$lte:$date_check_den_ngay$$}}$model$$.findOne($query_check$$,
|
|
306
|
+
{so_ct:1}).lean().exec(($e$$,$rs$$)=>{setImmediate(()=>{if($rs$$)return $callback$$("S\u1ed1 ch\u1ee9ng t\u1eeb "+$data$jscomp$1$$.so_ct+" \u0111\u00e3 t\u1ed3n t\u1ea1i. H\u00e3y ch\u1ecdn m\u1ed9t s\u1ed1 ch\u1ee9ng t\u1eeb kh\u00e1c");$callback$$(null,$obj$$)})})}else $callback$$(null,$obj$$)})}):$callback$$(null,$obj$$)},($obj$jscomp$0$$,$callback$jscomp$0$$)=>{(async($obj$$,$callback$$)=>{try{(await permission.getFieldNotRight($obj$$.id_app,$user$jscomp$0$$.email,$ctrl$$.name)).forEach($f$$=>
|
|
307
|
+
{delete $data$jscomp$1$$[$f$$]})}catch($e$$){console.error("Error get field not right",$e$$)}setImmediate(function(){$ctrl$$.updating?$ctrl$$.updating($user$jscomp$0$$,$data$jscomp$1$$,$obj$$,function($error$jscomp$0$$,$_data$jscomp$0$$,$_obj$$){setImmediate(()=>{if($error$jscomp$0$$)return $callback$$($error$jscomp$0$$);if($ctrl$$.dynamicUpdating)$ctrl$$.dynamicUpdating($user$jscomp$0$$,$_data$jscomp$0$$,$_obj$$,function($error$$,$_data$$){if($error$$)return $callback$$($error$$);for(let $f$$ in $_data$$)underscore.has($schema_paths$$,
|
|
308
|
+
$f$$)&&($data$jscomp$1$$[$f$$]=$_data$$[$f$$]);$callback$$(null,$obj$$)});else{for(let $f$$ in $_data$jscomp$0$$)underscore.has($schema_paths$$,$f$$)&&($data$jscomp$1$$[$f$$]=$_data$jscomp$0$$[$f$$]);$callback$$(null,$obj$$)}})}):$ctrl$$.dynamicUpdating?$ctrl$$.dynamicUpdating($user$jscomp$0$$,$data$jscomp$1$$,$obj$$,function($error$$,$_data$$){if($error$$)return $callback$$($error$$);for(let $f$$ in $_data$$)underscore.has($schema_paths$$,$f$$)&&($data$jscomp$1$$[$f$$]=$_data$$[$f$$]);$callback$$(null,
|
|
309
|
+
$obj$$)}):$callback$$(null,$obj$$)})})($obj$jscomp$0$$,$callback$jscomp$0$$)},function($obj$$,$callback$$){setImmediate(function(){if(!$unique$$||0===$unique$$.length)return $callback$$(null,$obj$$);let $c1$$={},$c2$$={};$obj$$.id_app&&($c1$$.id_app=$obj$$.id_app,$c2$$.id_app||($c2$$.id_app=$obj$$.id_app));$unique$$.forEach(function($key$$){$c1$$[$key$$]=$obj$$[$key$$];$ctrl$$.model.schema.paths[$key$$]?("number"==$ctrl$$.model.schema.paths[$key$$].instance.toLowerCase()?$c2$$[$key$$]=Number($data$jscomp$1$$[$key$$]):
|
|
310
|
+
"date"==$ctrl$$.model.schema.paths[$key$$].instance.toLowerCase()?$c2$$[$key$$]=new Date($data$jscomp$1$$[$key$$]):"string"==$ctrl$$.model.schema.paths[$key$$].instance.toLowerCase()?$c2$$[$key$$]=($data$jscomp$1$$[$key$$]||"").toString():$c2$$[$key$$]=$data$jscomp$1$$[$key$$],$c2$$[$key$$]||($c2$$[$key$$]=$c1$$[$key$$])):console.error("field",$key$$," is not exist. please check unique of controller")});!0!==underscore.isEqual($c1$$,$c2$$)?isExists($model$$,$unique$$,$c2$$,$ctrl$$.replaceIfExists,
|
|
311
|
+
function($error$jscomp$0$$,$kq$$){setImmediate(()=>{if($error$jscomp$0$$||$kq$$){let $msgError$$=$error$jscomp$0$$||ERR_ALREADY_EXIST;if($ctrl$$.options.onErrorUpdating)$ctrl$$.options.onErrorUpdating($user$jscomp$0$$,$obj$$,$e$$=>{$e$$&&($msgError$$=$msgError$$+"\n"+$e$$);$callback$$($msgError$$)},$current_obj$$);else $callback$$($msgError$$)}else checkReference($model$$,$obj$$,function($error$$){setImmediate(()=>{if($error$$)return console.error("Keys arise data",$c1$$,$c2$$,$error$$),$callback$$({error:ERR_KEY_ARISE+
|
|
312
|
+
($error$$.error||$error$$.message||$error$$),code:ERR_KEY_ARISE_CODE});$callback$$(null,$obj$$)})},$unique$$)})}):$callback$$(null,$obj$$)})},function($obj$$,$callback$$){let $keys$$=underscore.keys($model$$.referenceKeys).filter($key$$=>"_id"!==$key$$);$unique$$&&($keys$$=$keys$$.filter($key$$=>0>$unique$$.indexOf($key$$).length));if(0===$keys$$.length)return $callback$$(null,$obj$$);checkReference($model$$,$obj$$,function($msgError$$){setImmediate(()=>{if($msgError$$)if($ctrl$$.options.onErrorUpdating)$ctrl$$.options.onErrorUpdating($user$jscomp$0$$,
|
|
313
|
+
$obj$$,$e$$=>{$e$$&&($msgError$$=$msgError$$+"\n"+$e$$);$callback$$($msgError$$)},$current_obj$$);else $callback$$({error:ERR_ARISE+($msgError$$.error||$msgError$$.message||$msgError$$),code:ERR_ARISE_CODE});else $callback$$(null,$obj$$)})},$keys$$)},function($obj$jscomp$0$$,$callback$$){$ctrl$$.validating||($ctrl$$.validating=($user$$,$data$$,$next$$)=>{$next$$(null,$data$$)});$data$jscomp$1$$._id=$obj$jscomp$0$$._id;$ctrl$$.validating($user$jscomp$0$$,$data$jscomp$1$$,($error$$,$data$jscomp$0$$)=>
|
|
314
|
+
{if($error$$)return $callback$$($error$$);setImmediate(function(){$data$jscomp$0$$.date_updated=new Date;$data$jscomp$0$$.user_updated=$user$jscomp$0$$.email;delete $data$jscomp$0$$.__v;$ctrl$$.options.onUpdateExtending||($ctrl$$.options.onUpdateExtending=function($obj$$,$data$$,$action$$,$fn$$){$fn$$()});$ctrl$$.options.onUpdateExtending($obj$jscomp$0$$,$data$jscomp$0$$,$action$jscomp$0$$,function(){underscore.has($schema_paths$$,"exfields")&&$data$jscomp$0$$.exfields&&($obj$jscomp$0$$.exfields=
|
|
315
|
+
$data$jscomp$0$$.exfields);delete $data$jscomp$0$$.__v;for(let $f$$ in $data$jscomp$0$$)underscore.has($schema_paths$$,$f$$)&&"_id"!==$f$$&&($obj$jscomp$0$$.set($f$$,$data$jscomp$0$$[$f$$]),"exfields"!==$f$$||$obj$jscomp$0$$.exfields||($obj$jscomp$0$$.exfields={}));validate($obj$jscomp$0$$,function($msgError$$){setImmediate(()=>{if($msgError$$)if($ctrl$$.options.onErrorUpdating)$ctrl$$.options.onErrorUpdating($user$jscomp$0$$,$obj$jscomp$0$$,$e$$=>{$e$$&&($msgError$$=$msgError$$+"\n"+$e$$);$callback$$($msgError$$)},
|
|
316
|
+
$current_obj$$);else $callback$$($msgError$$);else $callback$$(null,$obj$jscomp$0$$)})},$voucher_options$$)})})},{action:$action$jscomp$0$$})},function($obj$$,$callback$$){$current_obj$$&&($obj$$._id=$current_obj$$._id);deletePost($user$jscomp$0$$,$obj$$,async $e$$=>{$callback$$($e$$,$obj$$)})},function($obj$$,$callback$$){setImmediate(async()=>{$obj$$.ngay_ct&&($obj$$.ngay_ct=moment($obj$$.ngay_ct).toDate());for(var $$condition_k$$ in $ctrl$$.keyValues)$obj$$[$$condition_k$$]=$ctrl$$.keyValues[$$condition_k$$];
|
|
317
|
+
Object.keys($model$$.schema.paths).filter($model_path$$=>$obj$$[$model_path$$]&&underscore.isArray($obj$$[$model_path$$])).forEach($model_path$$=>{$model$$.schema.paths[$model_path$$].schema&&$model$$.schema.paths[$model_path$$].schema.paths&&Object.keys($model$$.schema.paths[$model_path$$].schema.paths).filter($path$$=>"line"!==$path$$&&"_id"!==$path$$&&"__v"!==$path$$&&0<=fields_sync_master_detail.indexOf($path$$)).forEach($path$$=>{$obj$$[$path$$]&&$obj$$[$model_path$$].filter($detail$$=>!$detail$$[$path$$]).forEach($detail$$=>
|
|
318
|
+
{$detail$$[$path$$]=$obj$$[$path$$]})})});await createIdRef($model$$,$obj$$);if($ctrl$$.saving)try{await $ctrl$$.saving($user$jscomp$0$$,$obj$$,$_action$$)}catch($e$$){return $callback$$({error:$e$$.message||$e$$.error||$e$$})}$ctrl$$.emit("saving",$obj$$);$current_obj$$&&($obj$$._id=$current_obj$$._id);let $obj_created$$,$error$jscomp$0$$;$data$jscomp$1$$.$condition&&($$condition_k$$=$data$jscomp$1$$.$condition,$$condition_k$$._id=$obj$$._id,await $model$$.findOne($$condition_k$$)||($error$jscomp$0$$=
|
|
319
|
+
ERR_CAN_NOT_UPDATE),delete $data$jscomp$1$$.$condition);if(!$error$jscomp$0$$)try{delete $obj$$.__v,$obj_created$$=await $obj$$.save()}catch($e$$){if($error$jscomp$0$$=$e$$,$ctrl$$.options.onErrorSave)$ctrl$$.options.onErrorSave($user$jscomp$0$$,$obj$$,$error$jscomp$0$$,$_action$$)}if($error$jscomp$0$$){let $msgErrors$$=[];for(let $k$$ in $error$jscomp$0$$.errors)$msgErrors$$.push($error$jscomp$0$$.errors[$k$$].message);0==$msgErrors$$.length&&($msgErrors$$=$error$jscomp$0$$.message);$msgErrors$$||
|
|
320
|
+
($msgErrors$$=JSON.stringify($error$jscomp$0$$));if($ctrl$$.options.onErrorUpdating)$ctrl$$.options.onErrorUpdating($user$jscomp$0$$,$obj$$,$e$$=>{$e$$&&console.error("onErrorUpdating",$e$$);$callback$$({error:$msgErrors$$,code:ERR_CAN_NOT_UPDATE_CODE})},$current_obj$$);else $callback$$({error:$msgErrors$$,code:ERR_CAN_NOT_UPDATE_CODE})}else $req$$&&$req$$.header&&setImmediate(()=>{log.create({id_app:$user$jscomp$0$$.current_id_app,id_func:$ctrl$$.name,action:$_action$$.toUpperCase(),data:{oldData:$current_obj$$,
|
|
321
|
+
newData:$data$jscomp$1$$,id:$obj$$._id.toString()}},$user$jscomp$0$$.email,$req$$.header("user-agent"),$req$$)}),postData($obj_created$$,$ctrl$$,function($msgError$$){$msgError$$?setImmediate(()=>{$current_obj$$&&$model$$.findByIdAndUpdate($current_obj$$._id,{$set:$current_obj$$},function($err$$,$restore_data$$){if($err$$||!$restore_data$$)return console.error("can't restore voucher",$err$$||": don't find voucher");console.log("restored data of voucher. posting...");$model$$.findById($current_obj$$._id,
|
|
322
|
+
($e$jscomp$0$$,$_d$$)=>{if(!$_d$$)return console.error("Don't find voucher",$current_obj$$._id);postData($_d$$,$ctrl$$,function($e$$){if($e$$)return console.error("can't repost voucher",$e$$);console.log("reposted voucher",$_d$$._id)},{req:$req$$})})});if($ctrl$$.options.onErrorUpdating)$ctrl$$.options.onErrorUpdating($user$jscomp$0$$,$obj$$,$e$$=>{$e$$&&($msgError$$=$msgError$$+"\n"+$e$$);$callback$$($msgError$$)},$current_obj$$);else $callback$$($msgError$$)}):setImmediate(async()=>{$ctrl$$.emit("saved",
|
|
323
|
+
$obj_created$$);$ctrl$$.emit("updated",$obj_created$$);global.getModel("customer").updateActives&&global.getModel("customer").updateActives($obj_created$$);$obj_created$$=$obj_created$$.toObject();runWebhooks($ctrl$$,$obj_created$$,$_action$$.toUpperCase(),$voucher_options$$);await $ctrl$$.cacheData($obj_created$$,void 0,$_action$$);if($req$$&&"import"!=$_action$$&&!1!==$req$$.query.return_data)$ctrl$$.onView($user$jscomp$0$$,[$obj_created$$],function($error$$,$viewValue$$){setImmediate(()=>{if($error$$)return $callback$$($error$$);
|
|
324
|
+
$req$$&&pushNotification($ctrl$$,$viewValue$$[0],$_action$$,$current_obj$$,null,{exclude_token:$req$$.query.access_token});$callback$$(null,$viewValue$$[0])})},{req:$req$$});else $callback$$(null,{_id:$obj_created$$._id})})},{req:$req$$})})},function($obj$$,$callback$$){$ctrl$$.requestApprove($user$jscomp$0$$.current_app_info,$user$jscomp$0$$,$obj$$,$callback$$,$voucher_options$$)},function($obj$jscomp$0$$,$callback$$){void 0!=$obj$jscomp$0$$.trang_thai&&setImmediate(async()=>{Approve.findOne({id_ct:$obj$jscomp$0$$._id.toString(),
|
|
325
|
+
"update_after_approve.data.trang_thai":$obj$jscomp$0$$.trang_thai.toString()}).lean().exec(($e$$,$rs$$)=>{!$rs$$||$rs$$.user_approved||$rs$$.user_denied||($rs$$.user_approved=$req$$.user.email,$rs$$.user_approved_name=$req$$.user.name,$rs$$.date_approved=new Date,Approve.updateOne({_id:$rs$$._id},$rs$$).then(()=>{Approve.sendNotifyApproved($rs$$,$req$$.query.access_token)}))})});setImmediate(async()=>{(await permission.getFieldNotRight($obj$jscomp$0$$.id_app,$user$jscomp$0$$.email,$ctrl$$.name)).forEach($f$$=>
|
|
326
|
+
{delete $obj$jscomp$0$$[$f$$]});$obj$jscomp$0$$.collection_name=$ctrl$$.collection_name;$ctrl$$.updated?$ctrl$$.updated($user$jscomp$0$$,$obj$jscomp$0$$,function($error$jscomp$0$$,$obj$$){if($error$jscomp$0$$)return console.error("error when saved",$error$jscomp$0$$),$callback$$($error$jscomp$0$$);$ctrl$$.dynamicUpdated?$ctrl$$.dynamicUpdated($user$jscomp$0$$,$obj$$,function($error$$){if($error$$)return $callback$$($error$$);$callback$$(null,$obj$$)}):$callback$$(null,$obj$$)},$current_obj$$):$ctrl$$.dynamicUpdated?
|
|
327
|
+
$ctrl$$.dynamicUpdated($user$jscomp$0$$,$obj$jscomp$0$$,function($error$$){if($error$$)return $callback$$($error$$);$callback$$(null,$obj$jscomp$0$$)}):$callback$$(null,$obj$jscomp$0$$)})}],($e$jscomp$182_name_cached$$,$rs$$)=>{$e$jscomp$182_name_cached$$?(console.error($e$jscomp$182_name_cached$$),$callback$jscomp$1$$($e$jscomp$182_name_cached$$)):($e$jscomp$182_name_cached$$=$model$$.collection.name,$user$jscomp$0$$.current_id_app&&($e$jscomp$182_name_cached$$+=$user$jscomp$0$$.current_id_app),
|
|
328
|
+
delete global.cacheDatas[$e$jscomp$182_name_cached$$],$callback$jscomp$1$$(null,$rs$$))})}catch($e$$){console.error($e$$),$callback$jscomp$1$$($e$$)}};
|
|
327
329
|
controller.prototype.update=function(){let $ctrl$$=this,$name$$=this.name;this.router.route(this.route_name+"/:id").put(function($req$$,$res$$){let $session$$=$req$$.session;if(!0===$session$$["updating_"+$name$$])return $res$$.status(400).send({error:"\u0110ang x\u1eed l\u00fd d\u1eef li\u1ec7u"});$session$$["updating_"+$name$$]=!0;let $body$$=$req$$.body;$req$$.files&&underscore.extend($body$$,$req$$.files);let $data$$;try{$data$$=bodyToJson($body$$)}catch($e$$){return $res$$.status(400).send({error:$e$$.message||
|
|
328
330
|
$e$$.error||$e$$})}update($req$$.user,$ctrl$$,$req$$.params.id,$data$$,($e$$,$rs$$)=>{setImmediate(()=>{$session$$["updating_"+$name$$]=!1;if($e$$)return console.error($e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});!1===$req$$.query.return_data?$res$$.send({_id:$rs$$._id.toString()}):$res$$.send($rs$$)})},null,$req$$)})};
|
|
329
331
|
function checkReference($model$jscomp$0$$,$obj$$,$fn$$,$keys$$){$model$jscomp$0$$.referenceKeys?($keys$$||($keys$$=underscore.keys($model$jscomp$0$$.referenceKeys)),async.mapSeries($keys$$,function($key$$,$callback$$){setImmediate(()=>{let $ref$$=$model$jscomp$0$$.referenceKeys[$key$$];if(!$ref$$)return $callback$$();let $value$$=$obj$$[$key$$];"_id"===$key$$&&($value$$=$value$$.toString());if(void 0==$value$$||null==$value$$||""==$value$$)return $callback$$();async.mapSeries($ref$$,function($r$$,
|
|
330
332
|
$cb$$){setImmediate(()=>{let $model$$=mongoose.models[$r$$.model];if($model$$){let $query$$={id_app:$obj$$.id_app};var $_w_k$$=$r$$.key;$_w_k$$&&($query$$[$_w_k$$]=$value$$);$r$$.where&&(underscore.isObject($r$$.where)&&($query$$=Object.assign($query$$,$r$$.where)),underscore.isFunction($r$$.where)&&($_w_k$$=$r$$.where($obj$$),$query$$=Object.assign($query$$,$_w_k$$)));$model$$.find($query$$).limit(1).lean().exec(function($error$$,$o$$){setImmediate(()=>{if($error$$)return $cb$$($error$$);if($o$$&&
|
|
331
333
|
0<$o$$.length){let $msgError$$;$msgError$$=$r$$.error?(new Function("obj","return `"+$r$$.error.replace("{{VALUE}}",$value$$)+"`"))($obj$$):ERR_DATA_GENERATED;return $cb$$({error:$msgError$$,code:ERR_DATA_GENERATED_CODE})}$cb$$()})})}else $cb$$()})},function($e$$){if($e$$)return $callback$$($e$$);$callback$$()})})},$error$$=>{$fn$$($error$$)})):$fn$$()}
|
|
332
|
-
controller.prototype.delete=function(){let $model$$=this.model,$ctrl$$=this,$module$$=this.module;this.router.route(this.route_name+"/:id").delete(function($req$$,$res$$,$next$$){if(!global.mongoose.Types.ObjectId.isValid($req$$.params.id))return $res$$.status(400).send({error:ERR_NOT_FOUND,code:ERR_NOT_FOUND_CODE});$model$$.findOne({_id:$req$$.params.id}).exec(async function($e$jscomp$
|
|
333
|
-
$res$$.status(400).send($e$jscomp$
|
|
334
|
-
const $voucher_options$$=(await OptionsModel.findOne({id_app:$e$jscomp$
|
|
335
|
-
$e$$.error||$e$$,code:BOOK_LOCK})}$obj$$=$obj$$.toObject();let $requireOtp$$=$ctrl$$.options.requireOtp;$requireOtp$$&&_.isFunction($requireOtp$$)&&($requireOtp$$=$requireOtp$$($obj$$,{action:"delete",_id:$req$$.params.id,user:$e$jscomp$
|
|
334
|
+
controller.prototype.delete=function(){let $model$$=this.model,$ctrl$$=this,$module$$=this.module;this.router.route(this.route_name+"/:id").delete(function($req$$,$res$$,$next$$){if(!global.mongoose.Types.ObjectId.isValid($req$$.params.id))return $res$$.status(400).send({error:ERR_NOT_FOUND,code:ERR_NOT_FOUND_CODE});$model$$.findOne({_id:$req$$.params.id}).exec(async function($e$jscomp$187_user$$,$obj$$){if($e$jscomp$187_user$$)return console.error("delete findObject",$e$jscomp$187_user$$),$e$jscomp$187_user$$.error?
|
|
335
|
+
$res$$.status(400).send($e$jscomp$187_user$$):$res$$.status(400).send({error:$e$jscomp$187_user$$.message||$e$jscomp$187_user$$.error||$e$jscomp$187_user$$});if(!$obj$$)return $res$$.status(404).send({error:ERR_NOT_FOUND,code:ERR_NOT_FOUND_CODE});$e$jscomp$187_user$$=$req$$.user;if($obj$$.trang_thai&&await Approve.findOne({id_ct:$obj$$._id.toString(),user_approved:{$exists:!0}}))return $res$$.status(400).send({error:"Kh\u00f4ng th\u1ec3 xo\u00e1 ch\u1ee9ng t\u1eeb n\u00e0y do n\u00f3 \u0111\u00e3 \u0111\u01b0\u1ee3c duy\u1ec7t"});
|
|
336
|
+
const $voucher_options$$=(await OptionsModel.findOne({id_app:$e$jscomp$187_user$$.current_id_app,id_func:$ctrl$$.name}).lean()||{}).option;if($obj$$.ngay_ct&&$obj$$.id_app&&$obj$$.schema&&$obj$$.schema.validate&&$obj$$.schema.validate.ngay_ct)try{await new Promise(($rs$$,$rj$$)=>{validator.unlockBook[0]($obj$$.id_app,$obj$$.ngay_ct,$unlock$$=>{if(!$unlock$$)return $rj$$(validator.unlockBook[1]);$rs$$($unlock$$)},$voucher_options$$)})}catch($e$$){return $res$$.status(400).send({error:$e$$.message||
|
|
337
|
+
$e$$.error||$e$$,code:BOOK_LOCK})}$obj$$=$obj$$.toObject();let $requireOtp$$=$ctrl$$.options.requireOtp;$requireOtp$$&&_.isFunction($requireOtp$$)&&($requireOtp$$=$requireOtp$$($obj$$,{action:"delete",_id:$req$$.params.id,user:$e$jscomp$187_user$$}));if($requireOtp$$)try{await permission.verifyOTP($e$jscomp$187_user$$.email,$req$$.query["otp-id"],$req$$.query["otp-code"])}catch($e$$){return $res$$.status(400).send({error:$e$$.message||$e$$.error||$e$$,code:ERR_VERIFY_OTP})}setImmediate(async()=>{let $notNeedRight$$=
|
|
336
338
|
await $ctrl$$.notNeedRight($req$$.user,{action:"delete",obj:$obj$$});permission.hasRight($ctrl$$.require_id_app?$obj$$.id_app:void 0,$req$$.user.email,$module$$,"delete",function($error$jscomp$0$$,$hr$$){if($hr$$)checkReference($model$$,$obj$$,function($error$$){if($error$$)return $res$$.status(400).send({error:ERR_ARISE+($error$$.error||$error$$.message||$error$$),code:ERR_ARISE_CODE});$req$$.obj=$obj$$;$next$$()});else return $res$$.status(403).send({error:$error$jscomp$0$$.error||$error$jscomp$0$$||
|
|
337
339
|
ERR_NOT_PERMIT,code:$error$jscomp$0$$.code||ERR_NOT_PERMIT_CODE})},{obj:$obj$$,notNeedRight:$notNeedRight$$})})})},function($req$$,$res$$,$next$$){setImmediate(()=>{let $obj$jscomp$1$$=$req$$.obj;$ctrl$$.deleting?$ctrl$$.deleting($req$$.user,$obj$jscomp$1$$,function($e$$,$obj$jscomp$0$$){if($e$$)return console.error("deleting",$e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});$ctrl$$.dynamicDeleting?$ctrl$$.dynamicDeleting($req$$.user,$obj$jscomp$0$$,
|
|
338
340
|
function($error$$,$obj$$){if($error$$)return $next$$($error$$);$req$$.obj=$obj$$;$next$$()}):($req$$.obj=$obj$jscomp$0$$,$next$$())},{req:$req$$}):$ctrl$$.dynamicDeleting?$ctrl$$.dynamicDeleting($req$$.user,$obj$jscomp$1$$,function($error$$,$obj$$){if($error$$)return $next$$($error$$);$req$$.obj=$obj$$;$next$$()}):($req$$.obj=$obj$jscomp$1$$,$next$$())})},function($req$$,$res$$){setImmediate(()=>{let $obj$jscomp$0$$=$req$$.obj;$ctrl$$.emit("deleting",{...$obj$jscomp$0$$});deletePost($req$$.user,$obj$jscomp$0$$,
|