mst-scm-server-core
Version:
MST backend project-ийн core project
1 lines • 1.02 kB
JavaScript
const e=require("mongoose"),{CustomError:t}=require("../helpers"),{Category:r}=require("../models/info"),{helpers:{numberHelper:a,checksumHelper:i,utilHelper:n}}=require("mst-server-common"),s=async a=>{if(!n.isNotEmptyArray(a))throw new t("categoryUuids талбарыг дамжуулаагүй байна.");const i=[...new Set(a.map((t=>new e.Types.ObjectId(t))))].map((e=>new RegExp(e.toString()+"/.*")));a.map((e=>{i.push(new RegExp(e.toString()))}));const s={path:{$in:i},isDeleted:0},o=await r.find(s,{_id:1,name:1,viewOrder:1,tier:1}).sort({tier:1,viewOrder:1});result=o;return{status:1,data:{uuids:o.map((e=>e._id)),names:o.map((e=>e.name)),objects:o}}},o=async()=>{await r.updateMany({},{$set:{path:""}});(await r.find().exec()).forEach((async function(e){var t=e._id.toString();if(t){for(var a=e;!n.isEmpty(a?.parentUuid);)(a=await r.findOne({_id:a.parentUuid}))&&(t=a._id.toString()+"/"+t);await r.updateOne({_id:e._id},{$set:{path:t}})}}))};module.exports={getAllChildCategoryUuids:s,updateCategoryPath:o};