Spaces:
Paused
Paused
File size: 907 Bytes
89ec743 a20391b 141007f 89ec743 06e2bc3 89ec743 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | const mongoose = require('mongoose');
const productSchema = new mongoose.Schema({
id: { type: Number, required: true, unique: true },
name: { type: String, required: true },
price: Number,
originalPrice: { type: Number, default: null }, // For Flash Sales
discountPercent: { type: Number, default: 0 }, // Discount %
quantity: { type: Number, default: 0 },
condition: { type: String, enum: ['new', 'used'], default: 'new' },
description: String,
category: String, // Category ID
media: [{
type: { type: String }, // 'photo' or 'video'
file_id: String
}],
reviews: [{
userId: String,
userName: String,
rating: Number, // 1-5
comment: String,
date: { type: Date, default: Date.now }
}],
createdAt: { type: Date, default: Date.now }
});
module.exports = mongoose.model('Product', productSchema);
|