UNPKG

flexbiz-server

Version:

Flexible Server

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