flexbiz-server
Version:
Flexible Server
7 lines (6 loc) • 2.52 kB
JavaScript
;const validAccount=require("../libs/validator-account"),validator=require("../libs/validator"),detailSchema=new Schema({tk_no:{type:String,required:!0,uppercase:!0,maxlength:32},he_so:{type:Number,required:!0,min:1E-8},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},ma_bp:{type:String,uppercase:!0,default:"",maxlength:32},ma_phi:{type:String,uppercase:!0,default:"",maxlength:32},ma_hd:{type:String,uppercase:!0,default:"",maxlength:32},ma_dt:{type:String,uppercase:!0,default:"",
maxlength:32},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32},ma_lo:{type:String,uppercase:!0,default:"",maxlength:32},ma_kho:{type:String,uppercase:!0,default:"",maxlength:32},ma_sp:{type:String,uppercase:!0,maxlength:32},tk_no1:{type:String,uppercase:!0,maxlength:32},tk_co1:{type:String,uppercase:!0,maxlength:32},line:{type:Number,default:0}});detailSchema.validate={tk_no:validAccount.existsTk,tk_no1:validAccount.existsTk,tk_co1:validAccount.existsTk,ma_kh:validator.existsKh};
const kbbtpbSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,default:"PTPB",required:!0,uppercase:!0,maxlength:32},ma_gd:{type:String,default:"0",maxlength:32},so_ct:{type:String,required:!0,uppercase:!0,trim:!0,maxlength:32},ngay_ct:{type:Date,default:Date.now,required:!0},ma_nt:{type:String,required:"ma_nt is required",default:"VND",trim:!0,uppercase:!0,maxlength:32},ty_gia:{type:Number,required:!0,min:0,default:1},
hieu_luc_tu:Date,hieu_luc_den:Date,tien_can_phan_bo:{type:Number,default:0},so_ky_phan_bo:{type:Number,default:1,min:1},stt:{type:Number,required:!0,min:0},tk_co:{type:String,required:!0,uppercase:!0,maxlength:32},dien_giai:{type:String,default:"",maxlength:1024},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:""},details:{type:[detailSchema]}});
kbbtpbSchema.validate={ma_dvcs:validator.existsDvcs,tk_co:validAccount.existsTk};(global.configs||{}).createIndexes&&(kbbtpbSchema.index({id_app:1,ma_dvcs:1,so_ct:1,ngay_ct:1}),kbbtpbSchema.index({so_ct:"text",dien_giai:"text",tk_co:"text"},{name:"kbbtpb_index_text"}),kbbtpbSchema.index({status:1}),kbbtpbSchema.index({hieu_luc_tu:1}),kbbtpbSchema.index({hieu_luc_den:1}),kbbtpbSchema.index({user_created:1,visible_to:1,visible_to_users:1}));
module.exports=mongoose.models.kbbtpb||mongoose.model("kbbtpb",kbbtpbSchema);