const mongoose = require('mongoose') const timestamp = require('mongoose-timestamp') const mongoosePaginate = require('mongoose-paginate-v2') const commentSchema = new mongoose.Schema({ user: { type: mongoose.Schema.Types.ObjectId, ref: 'User', required: true }, project: { type: mongoose.Schema.Types.ObjectId, ref: 'Project', required: false }, offer: { type: mongoose.Schema.Types.ObjectId, ref: 'Offer', required: false }, creator: { type: mongoose.Schema.Types.ObjectId, ref: 'User', required: true }, rating: { type: Number, required: false, default: null }, comment: { type: String, trim: true }, post: { type: mongoose.Schema.Types.ObjectId, ref: 'Post', required: false }, comment_for: { type: String, enum: ['user', 'project', 'post'], required: true }, status: { type: String, enum: ['pending', 'accepted', 'rejected'], default: 'pending' } }) commentSchema.plugin(timestamp) commentSchema.plugin(mongoosePaginate) const CommentModel = mongoose.model('Comment', commentSchema) module.exports = CommentModel