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);