Initial commit
This commit is contained in:
17
server/models/Review.js
Normal file
17
server/models/Review.js
Normal file
@@ -0,0 +1,17 @@
|
||||
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);
|
||||
|
||||
Reference in New Issue
Block a user