Sindbad~EG File Manager
"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 Customer = new _mongoose["default"].Schema({
customer_type: {
type: String,
required: false
},
//[contractor,general]
code: {
type: String,
required: false
},
name: {
type: String,
required: false,
index: true
},
cnic: {
type: String,
required: false,
index: true
},
contact_no: {
type: String,
required: false
},
image: {
type: String,
"default": ""
},
reference: {
type: String,
"default": ""
},
// they type reference name manually
description: {
type: String,
"default": ""
},
address: {
country: {
type: String,
"default": ""
},
province: {
type: String,
"default": ""
},
city: {
type: String,
"default": ""
}
},
opening_type: {
type: String,
"enum": ["debit", "credit"],
required: false
},
opening_balance: {
//debit (k customer ki debit limit kitni ha)
type: Number,
required: false,
"default": 0
},
debit_limit: {
type: Number,
required: false,
"default": 0
},
opening_date: {
type: Date,
required: false,
"default": Date.now
},
created_by: {
type: _mongoose["default"].Schema.ObjectId,
ref: "User"
},
store_id: {
type: _mongoose["default"].Schema.ObjectId,
ref: "Store"
}
}, {
timestamps: true
});
// Middleware to auto-populate refs with specific fields
function autoPopulateRefs(next) {
this.populate({
path: "created_by",
select: "name _id"
});
next();
}
Customer.pre("find", autoPopulateRefs).pre("findOne", autoPopulateRefs);
var _default = exports["default"] = _mongoose["default"].model("Customer", Customer);
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists