import mongoose from "mongoose"; const { Schema, model } = mongoose; const productSchema = new Schema( { name: { type: String, maxLength: [35, "name cannot exceed 25 characters"], required: [true, "Please Enter product Name"], trim: true, }, category: { type: Schema.Types.ObjectId, ref: "CategoryModel", }, master_price: { type: Number, required: true, }, master_GST: { type: mongoose.Schema.ObjectId, ref: "Tax", }, description: { type: String, maxLength: [400, "description cannot exceed 100 characters"], required: [true, "Please Enter product Description"], }, special_instructions: { type: String, }, featured_Product: { type: Boolean, default: false, // Initially, products are not featured }, variants: [ { variant_Name: { type: String, default: "" }, weight: { type: Number, default: 0 }, volume: { type: Number, default: 0 }, price: { type: String, default: "" }, gst_Id: { type: mongoose.Schema.ObjectId, ref: "Tax", }, }, ], image: [ { public_id: { type: String, // required: true, }, url: { type: String, // required: true, }, }, ], product_Status: { type: String, enum: ["Active", "inActive"], default: "Active", }, addedBy: { type: Schema.Types.ObjectId, required: true, ref: "User", }, }, { timestamps: true } ); export const Product = model("Product", productSchema);