flexbiz-server
Version:
Flexible Server
4 lines (3 loc) • 1.24 kB
JavaScript
;const model=global.getModel("strategicobjective"),strategicgoal=global.getModel("strategicgoal"),strategickpi=global.getModel("strategickpi"),strategicplan=global.getModel("strategicplan"),task=global.getModel("task"),msg2=global.getModel("message2"),controller=require("../../controllers/controller"),strategicobjective=function($router$$){(new controller($router$$,model,"strategicobjective",{onView:async($user$$,$items$$,$next$$)=>{await $items$$.asyncJoinModel2($user$$.current_id_app,
strategicgoal,{where:{id_link:"_id"},fields:{strategicgoal_title:"title",id_plan:"id_link"}});await $items$$.asyncJoinModel2($user$$.current_id_app,strategicplan,{where:{id_plan:"_id"},fields:{strategicplan_title:"title",start_year:"start_year",number_of_years:"number_of_years"}});await Promise.all($items$$.map($item$$=>(async()=>{$item$$.num_tasks=await task.countDocuments({id_link:$item$$._id.toString()});$item$$.kpis=await strategickpi.find({id_link:$item$$._id.toString()},{_id:1,name:1})})()));
$next$$(null,$items$$)},onDeleted:($user$$,$obj$$,$next$$)=>{msg2.deleteMany({id_link:$obj$$._id.toString()});task.deleteMany({id_job:$obj$$._id.toString()});$next$$(null,$obj$$)}})).route()};module.exports=strategicobjective;