flexbiz-server
Version:
Flexible Server
5 lines (4 loc) • 1.59 kB
JavaScript
;const consultantSchema=new Schema({stt:{type:Number,default:0},id_app:{type:String,required:!0,maxlength:1024},consultant_code:{type:String,required:!0,uppercase:!0,maxlength:32},consultant_name:{type:String,required:!0,maxlength:1024},consultant_name_en:{type:String,maxlength:1024},consultant_group:{type:String,maxlength:1024},picture:{type:String,maxlength:1024},description:String,description_en:String,exfields:Schema.Types.Mixed,shared:Boolean,status:{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:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String],dataview_to:{type:Number,default:0},dataview_to_users:[String]});
(global.configs||{}).createIndexes&&(consultantSchema.index({id_app:1,consultant_name:1,consultant_code:1}),consultantSchema.index({status:1}),consultantSchema.index({user_created:1,visible_to:1,visible_to_users:1}),consultantSchema.index({consultant_name:"text",consultant_code:"text",description:"text"},{name:"consultant_index_text"}));const model=mongoose.models.consultant||mongoose.model("consultant",consultantSchema);
model.getInfo=async($id_app$$,$condition$$,$fields$$)=>{$condition$$.id_app=$id_app$$;return new Promise(($resolve$$,$reject$$)=>{model.findOne($condition$$).lean().exec(($e$$,$rs$$)=>{if($e$$||!$rs$$)return $reject$$(Error($e$$?$e$$.message:"Can't find info"));$resolve$$($fields$$?$rs$$[$fields$$]:$rs$$)})})};module.exports=model;