flexbiz-server
Version:
Flexible Server
8 lines (7 loc) • 2.89 kB
JavaScript
const model=global.getModel("dmnckkm"),controller=require("../../controllers/controller"),{getCodeChildren}=require("../../libs/utils"),underscore=require("underscore");
module.exports=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,"dmnckkm",{sort:{sysorder:1},notNeedRight:($user$$,$options$$={})=>($options$$.action||"").toLowerCase()=="view"?!0:!1,onView:function($user$$,$items$$,$next$$){$items$$.filter($item$$=>$item$$.nh_me).joinModel2($user$$.current_id_app,model,[{where:{nh_me:"_id"},fields:[{name:"ten_nh_me",value:"ten_nhom"}]}],function(){$items$$=underscore.sortBy($items$$,function($item$$){return $item$$.sysorder});$next$$(null,
$items$$)})},onUpdating:async($user$$,$data$$,$obj$$,$next$$)=>{if($data$$.nh_me&&(await getCodeChildren(model,$obj$$.id_app,$obj$$._id.toString(),"_id","nh_me")).indexOf($data$$.nh_me)>=0)return $next$$("Kh\u00f4ng th\u1ec3 ch\u1ecdn nh\u00f3m n\u00e0y l\u00e0m nh\u00f3m m\u1eb9");$next$$(null,$data$$,$obj$$)}});const $getSysorder$$=function($item$$,$callback$$){let $sysorder$$=($item$$.stt||"0")+$item$$._id.toString();$item$$.nh_me&&$item$$.nh_me!=$item$$._id.toString()?model.findOne({_id:$item$$.nh_me}).lean().then(function($item_me$$){$item_me$$?
$getSysorder$$($item_me$$,function($rs$$){$sysorder$$=$rs$$+"-"+$sysorder$$;$callback$$($sysorder$$)}):$callback$$($sysorder$$)}).catch($e$$=>{Logger.error($e$$);$callback$$($sysorder$$)}):$callback$$($sysorder$$)};$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({nh_me:$obj$$._id.toString(),id_app:$obj$$.id_app})&&($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 $nh_me$$=$obj$$.nh_me;$nh_me$$&&await model.updateOne({id_app:$obj$$.id_app,_id:$nh_me$$},{$set:{loai_nh:0}}).catch(console.error)});$contr_router$$.on("deleted",async function($obj$$){$obj$$.nh_me&&!await model.findOne({nh_me:$obj$$.nh_me,id_app:$obj$$.id_app}).catch(console.error)&&
model.updateOne({id_app:$obj$$.id_app,_id:$obj$$.nh_me},{$set:{loai_nh:1}}).catch(console.error)})};