UNPKG

flexbiz-server

Version:

Flexible Server

10 lines (9 loc) 4.05 kB
const dmnvtSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},stt:{type:Number,default:0},ten_nvt:{type:String,required:!0,maxlength:1024},nh_me:{type:String,maxlength:1024},ma_nganh_hang:String,ds_nganh_hang:[String],group_kind:{type:Number,default:1},loai_nh:{type:Number,default:1},bac:Number,sysorder:String,quan_trong:Boolean,la_nhom_hang_hoa:Boolean,ban_tai_quay:Boolean,description:String,logo:{type:String,maxlength:1024},banner1:{type:String,maxlength:1024},banner2:{type:String, maxlength:1024},cac_thuoc_tinh:[],exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},shared:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}},{toJSON:{virtuals:!0}}); (global.configs||{}).createIndexes&&(dmnvtSchema.index({id_app:1,_id:1,group_kind:1}),dmnvtSchema.index({id_app:1,ten_nvt:1,status:1,stt:1,group_kind:1}),dmnvtSchema.index({id_app:1,nh_me:1,status:1,group_kind:1}),dmnvtSchema.index({id_app:1,sysorder:1}),dmnvtSchema.index({id_app:1,loai_nh:1}),dmnvtSchema.index({id_app:1,group_kind:1}),dmnvtSchema.index({id_app:1,bac:1}),dmnvtSchema.index({id_app:1,"cac_thuoc_tinh.id_tt":1,status:1,stt:1,group_kind:1}),dmnvtSchema.index({id_app:1,"cac_thuoc_tinh.ma_vt":1, status:1,stt:1,group_kind:1}),dmnvtSchema.index({id_app:1,"cac_thuoc_tinh.ma_tt":1,status:1,stt:1,group_kind:1}),dmnvtSchema.index({id_app:1,"cac_thuoc_tinh.loai_tt":1,status:1,stt:1,group_kind:1}),dmnvtSchema.index({id_app:1,ma_nganh_hang:1,ds_nganh_hang:1,group_kind:1}),dmnvtSchema.index({id_app:1,la_nhom_hang_hoa:1,status:1,stt:1,group_kind:1}),dmnvtSchema.index({id_app:1,la_nhom_hang_hoa:1,ban_tai_quay:1,status:1,stt:1,group_kind:1}),dmnvtSchema.index({id_app:1,description:1,status:1,stt:1,group_kind:1}), dmnvtSchema.index({id_app:1,status:1,stt:1,group_kind:1}),dmnvtSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,status:1,stt:1,group_kind:1}),dmnvtSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,status:1,stt:1,ten_nvt:1,group_kind:1}),dmnvtSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,status:1,stt:1,ten_nvt:1,la_nhom_hang_hoa:1,group_kind:1}),dmnvtSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,status:1,stt:1, ten_nvt:1,la_nhom_hang_hoa:1,ban_tai_quay:1,group_kind:1}),dmnvtSchema.index({id_app:1,ten_nvt:"text",nh_me:"text",description:"text"},{name:"dmnvt_index_text"}));const model=mongoose.models.dmnvt||mongoose.model("dmnvt",dmnvtSchema);model.referenceKeys={_id:[{model:"dmvt",key:"ma_nvt",error:"Nh\u00f3m v\u1eadt t\u01b0 ${obj.ten_nvt} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong danh m\u1ee5c v\u1eadt t\u01b0"}]};const _=require("lodash"); model.getAllChildrenGroup=async($id_app$$,$chil_ma_nvt_nh_vt_cons$$,$la_nhom_hang_hoa$$,$ma_nganh_hang$$,$condition_query$$={group_kind:1})=>{let $rs$$=[];$condition_query$$={id_app:$id_app$$,status:!0,...$condition_query$$};$ma_nganh_hang$$&&($condition_query$$.ds_nganh_hang=$ma_nganh_hang$$);$la_nhom_hang_hoa$$!=void 0&&($condition_query$$.la_nhom_hang_hoa=$la_nhom_hang_hoa$$);$chil_ma_nvt_nh_vt_cons$$&&(_.isArray($chil_ma_nvt_nh_vt_cons$$)?($rs$$=[...$rs$$,...$chil_ma_nvt_nh_vt_cons$$],$condition_query$$.nh_me= {$in:$chil_ma_nvt_nh_vt_cons$$}):($condition_query$$.nh_me=$chil_ma_nvt_nh_vt_cons$$,$chil_ma_nvt_nh_vt_cons$$.$in?$rs$$=[...$rs$$,...$chil_ma_nvt_nh_vt_cons$$.$in]:$rs$$.push($chil_ma_nvt_nh_vt_cons$$)));$chil_ma_nvt_nh_vt_cons$$=(await model.find($condition_query$$,{_id:1,nh_me:1}).lean()).filter($n$$=>$n$$._id.toString()!=$n$$.nh_me).map($d$$=>$d$$._id);$chil_ma_nvt_nh_vt_cons$$.length>0&&($chil_ma_nvt_nh_vt_cons$$=await Promise.all($chil_ma_nvt_nh_vt_cons$$.map($nh$$=>model.getAllChildrenGroup($id_app$$, $nh$$,$la_nhom_hang_hoa$$,$ma_nganh_hang$$))),$chil_ma_nvt_nh_vt_cons$$=$chil_ma_nvt_nh_vt_cons$$.reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]),$rs$$=[...$chil_ma_nvt_nh_vt_cons$$,...$rs$$]);return $rs$$};module.exports=model;