50 lines
1012 B
JavaScript
50 lines
1012 B
JavaScript
import mongoose from "mongoose";
|
|
|
|
// Define Product record schema
|
|
const ProductRecordSchema = new mongoose.Schema({
|
|
productid: {
|
|
type: mongoose.Schema.Types.ObjectId,
|
|
ref: "Product",
|
|
required: true,
|
|
},
|
|
SKU: {
|
|
type: String,
|
|
required: true,
|
|
},
|
|
productName: {
|
|
type: String,
|
|
required: true,
|
|
},
|
|
openingInventory: {
|
|
type: Number,
|
|
default: 0,
|
|
set: (value) => {
|
|
if (typeof value === "string") {
|
|
// Convert to number and remove leading zeros
|
|
return Number(value.replace(/^0+/, "")) || undefined;
|
|
}
|
|
return value;
|
|
},
|
|
},
|
|
Stock: {
|
|
type: Number,
|
|
default: 0,
|
|
},
|
|
});
|
|
|
|
// Define main Stock schema
|
|
const StockSchema = new mongoose.Schema(
|
|
{
|
|
userId: {
|
|
type: mongoose.Schema.Types.ObjectId,
|
|
refPath: "User",
|
|
required: true,
|
|
unique: true,
|
|
},
|
|
products: [ProductRecordSchema],
|
|
},
|
|
{ timestamps: true, versionKey: false }
|
|
);
|
|
|
|
export const PDStock = mongoose.model("PDStock", StockSchema);
|