flexbiz-server
Version:
Flexible Server
8 lines (7 loc) • 2.78 kB
JavaScript
const model=global.getModel("dmbp"),Participant=global.getModel("participant"),controller=require("../../controllers/controller"),async=require("async"),getSysorder=function($item$$,$callback$$){let $sysorder$$=($item$$.stt||"0")+"-"+$item$$.ma_bp;$item$$.ma_bp_me&&$item$$.ma_bp_me!=$item$$.ma_bp.toString()?model.findOne({ma_bp:$item$$.ma_bp_me,id_app:$item$$.id_app}).lean().then(function($item_me$$){$item_me$$?getSysorder($item_me$$,function($rs$$){$sysorder$$=$rs$$+"---"+$sysorder$$;$callback$$($sysorder$$)}):
$callback$$($sysorder$$)}).catch($e$$=>{$callback$$($e$$)}):$callback$$($sysorder$$)};
module.exports=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,"dmbp",{sort:{sysorder:1},unique:["ma_bp"],onView:function($user$$,$items$$,$next$$){async.series({pt:function($callback$$){$items$$.filter($item$$=>$item$$.phu_trach).joinModel2($user$$.current_id_app,Participant,[{where:{phu_trach:"email"},fields:[{ten_phu_trach:"name"}]}],function(){$callback$$(null,$items$$)})},ph:function($callback$$){$items$$.filter($item$$=>$item$$.phoi_hop).joinModel2($user$$.current_id_app,
Participant,[{where:{phoi_hop:"email"},fields:[{ten_phoi_hop:"name"}]}],function(){$callback$$(null,$items$$)})}},()=>{$next$$(null,$items$$)})}});$contr_router$$.route();$contr_router$$.deleting=function($user$$,$obj$$,$next$$){if($obj$$.loai_nh===0)return $next$$(Error("Kh\u00f4ng \u0111\u01b0\u1ee3c ph\u00e9p x\u00f3a nh\u00f3m m\u1eb9"));$next$$(null,$obj$$)};$contr_router$$.created=function($user$$,$obj$$,$next$$){getSysorder($obj$$,async function($rs$$){$obj$$.sysorder=$rs$$;$obj$$.bac=$rs$$.split("---").length;
await model.updateOne({_id:$obj$$._id},{$set:{bac:$obj$$.bac,sysorder:$obj$$.sysorder,loai_nh:1}}).catch(console.error);$next$$(null,$obj$$)})};$contr_router$$.updated=function($user$$,$obj$$,$next$$){getSysorder($obj$$,async function($loai_nh_rs$$){$obj$$.sysorder=$loai_nh_rs$$;$obj$$.bac=$loai_nh_rs$$.split("---").length;$loai_nh_rs$$=1;await model.findOne({ma_bp_me:$obj$$.ma_bp.toString(),id_app:$obj$$.id_app}).catch(console.error)&&($loai_nh_rs$$=0);$obj$$.loai_nh=$loai_nh_rs$$;await model.updateOne({_id:$obj$$._id},
{$set:{bac:$obj$$.bac,sysorder:$obj$$.sysorder,loai_nh:$loai_nh_rs$$}}).catch(console.error);$next$$(null,$obj$$)})};$contr_router$$.on("saved",async function($obj$$){const $ma_bp_me$$=$obj$$.ma_bp_me;$ma_bp_me$$&&await model.updateOne({id_app:$obj$$.id_app,ma_bp:$ma_bp_me$$},{$set:{loai_nh:0}}).catch(console.error)});$contr_router$$.on("deleted",async function($obj$$){$obj$$.ma_bp_me&&(await model.findOne({ma_bp_me:$obj$$.ma_bp_me,id_app:$obj$$.id_app}).select("_id").catch(console.error)||await model.updateOne({id_app:$obj$$.id_app,
ma_bp:$obj$$.ma_bp_me},{$set:{loai_nh:1}}).catch(console.error))})};