/
home
/
infinitibizsol
/
.trash
/
model.9
/
common
/
File Upload :
llllll
Current File: /home/infinitibizsol/.trash/model.9/common/basicontactInfo.js
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _mongoose = _interopRequireDefault(require("mongoose")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } var phoneNumberSchema = new _mongoose["default"].Schema({ phone_no: { type: String, required: true }, type: { type: String, // enum: ["Home", "Work", "Mobile", "Other"], required: false, "default": "" }, is_primary: { type: Boolean, "default": false } }); var emailSchema = new _mongoose["default"].Schema({ email_address: { type: String, required: true }, type: { type: String, // enum: ["Home", "Work", "Mobile", "Other"], required: false, "default": "" }, is_primary: { type: Boolean, "default": false } }); var BasicContactInfo = new _mongoose["default"].Schema({ user_id: { type: _mongoose["default"].Schema.ObjectId, ref: "User" }, contact_id: { type: _mongoose["default"].Schema.ObjectId, ref: "Contact" }, contact_preference: { type: String, "default": "Phone", "enum": ["Phone", "Mail", "Email", "Text"] }, phone_numbers: { type: [phoneNumberSchema], validate: [{ validator: function validator(v) { return v.length <= 4; }, message: function message(props) { return "An agent can have up to 4 phone numbers!"; } }, { validator: function validator(v) { var primaryCount = v.filter(function (phone) { return phone.is_primary; }).length; return primaryCount <= 1; }, message: function message(props) { return "Only one phone number can be marked as primary!"; } }] }, emails: { type: [emailSchema], validate: [{ validator: function validator(v) { return v.length <= 4; }, message: function message(props) { return "An agent can have up to 2 emails!"; } }, { validator: function validator(v) { var primaryCount = v.filter(function (email) { return email.is_primary; }).length; return primaryCount <= 1; }, message: function message(props) { return "Only one email can be marked as primary!"; } }] }, createdOn: { type: Date, "default": Date.now }, modifiedOn: { type: Date, "default": Date.now } }, { toJSON: { virtuals: true }, toObject: { virtuals: true } }); var _default = exports["default"] = _mongoose["default"].model("BasicContactInfo", BasicContactInfo);
Copyright ©2k19 -
Hexid
|
Tex7ure