21 lines
742 B
JavaScript
21 lines
742 B
JavaScript
const mongoose = require('mongoose');
|
|
|
|
const cartItemSchema = new mongoose.Schema({
|
|
product: { type: mongoose.Schema.Types.ObjectId, ref: 'Product', required: true },
|
|
variantColor: { type: String, default: '' },
|
|
variantFinish: { type: String, default: '' },
|
|
quantity: { type: Number, required: true, default: 1, min: 1 },
|
|
price: { type: Number, required: true }
|
|
});
|
|
|
|
const cartSchema = new mongoose.Schema({
|
|
user: { type: mongoose.Schema.Types.ObjectId, ref: 'User', default: null },
|
|
sessionId: { type: String, default: null },
|
|
items: [cartItemSchema],
|
|
couponCode: { type: String, default: '' },
|
|
discountAmount: { type: Number, default: 0 }
|
|
}, { timestamps: true });
|
|
|
|
module.exports = mongoose.model('Cart', cartSchema);
|
|
|