UNPKG

kpiplus

Version:

KPI+

1 lines 2.19 kB
var User=require("./user"),participantScheam=new Schema({email:{type:String,required:!0,lowercase:!0},admin:{type:Boolean,default:!1},active:{type:Boolean,default:!1},ext:String,hotline:String,cancel:{type:Boolean,default:!1},group_id:{type:String},date_created:{type:Date,default:Date.now},user_created:{type:String,default:""},date_updated:{type:Date,default:Date.now},user_updated:{type:String,default:""}}),appScheam=new Schema({name:{type:String,required:!0},address:{type:String,default:""},city:{type:String,default:""},province:{type:String,default:""},country:{type:String,default:""},phone:{type:String,default:""},fax:{type:String,default:""},email:{type:String,default:""},website:{type:String,default:""},sale_online:{type:Boolean,default:!1},voiIPTokens:[],facebook:{type:String,default:""},bao_hanh:{type:String},van_chuyen:{type:String},gioi_thieu:{type:String},nganh_nghe:{type:String},keywords:{type:String},site_name:{type:String},ngay_dn:{type:Date,required:!0},ngay_ks:{type:Date,required:!0},nam_bd:{type:Number,required:!0},ngay_ky1:{type:Date,required:!0},ma_so_thue:String,nguoi_nop_thue:String,giam_doc:String,ke_toan_truong:String,logo:String,participants:[participantScheam],create_db_sql:{type:Boolean,default:!1},user_db_sql:{type:String},partner:String,server:String,google_drive_email:String,google_drive_token:String,google_drive_refresh_token:String,stp_api_address:String,stp_api_token:String,exfields:Schema.Types.Mixed,options:Schema.Types.Mixed,expire_date:Date,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:""}});appScheam.index({name:1,province:1});var App=mongoose.model("app",appScheam);App.emitEvent=function(e,t,a,n,r){App.findOne({_id:e}).lean().exec(function(e,i){i&&(a.company=i.name,r?r=r.map(e=>({email:e,name:e})):(r=i.participants).find(e=>i.user_created===e.email)||r.push({email:i.user_created,name:i.user_created}),r.forEach(function(e){t?User.emitEvent(e.email,t,a,!0,n):createNotification(a.user_updated||"SYSTEM",e.email,a.body,a.body,(e,t)=>{e&&console.log(e)},a,!0,n)}))})},module.exports=App;