crm-api-template-generator/backend/models/CRM_Contact.js

47 lines
944 B
JavaScript

const mongoose = require('../db/connect')
const { Schema } = mongoose
const crmContactSchema = new Schema({
companyId: {
type: String,
required: true,
},
crm: {
type: mongoose.Schema.ObjectId,
ref: 'crm',
required: true
},
crmBaseURL: {
type: String,
required: true,
},
contactId: {
type: String,
required: true,
},
phone: {
type: String,
required: true,
}
}, { timestamps: true })
crmContactSchema.virtual('crm_tickets', {
ref: 'CRM_Ticket',
localField: '_id',
foreignField: 'contact',
justOne: false,
// match: { rating: 4 }
})
crmContactSchema.pre('deleteOne', { document: true, query: false }, async function () {
await this.model('CRM_Ticket').deleteMany({ contact: this._id })
}
)
const CRM_Contact = mongoose.model('CRM_Contact', crmContactSchema)
module.exports = CRM_Contact