Files
Guitar-Ecommerce/server/models/Review.js
2026-09-16 17:36:46 +05:30

18 lines
711 B
JavaScript

const mongoose = require('mongoose');
const reviewSchema = new mongoose.Schema({
user: { type: mongoose.Schema.Types.ObjectId, ref: 'User', required: true },
product: { type: mongoose.Schema.Types.ObjectId, ref: 'Product', required: true },
rating: { type: Number, required: true, min: 1, max: 5 },
title: { type: String, required: true, trim: true },
comment: { type: String, required: true },
isVerifiedPurchase: { type: Boolean, default: true },
isApproved: { type: Boolean, default: true }
}, { timestamps: true });
// Prevent multiple reviews per product by same user
reviewSchema.index({ user: 1, product: 1 }, { unique: true });
module.exports = mongoose.model('Review', reviewSchema);