const mongoose = require('mongoose'); const reportSchema = new mongoose.Schema( { reportedBy: { type: mongoose.Schema.Types.ObjectId, ref: 'User', required: true, }, reportedUser: { type: mongoose.Schema.Types.ObjectId, ref: 'User', required: true, }, category: { type: String, enum: ['quality_issues', 'miscommunication', 'non_professional', 'payment_issue', 'harassment', 'scam', 'other'], required: true, }, title: { type: String, required: true, }, description: { type: String, required: true, }, bookingId: { type: mongoose.Schema.Types.ObjectId, ref: 'Booking', default: null, }, evidence: [ { type: String, // URL to screenshot/file }, ], status: { type: String, enum: ['pending', 'under_review', 'resolved', 'dismissed'], default: 'pending', }, severity: { type: String, enum: ['low', 'medium', 'high', 'critical'], default: 'medium', }, adminNotes: { type: String, default: '', }, resolution: { type: String, default: '', }, photographer_response: { type: String, default: '', maxlength: 1000, }, respondedAt: { type: Date, default: null, }, resolvedAt: { type: Date, default: null, }, submittedAt: { type: Date, default: Date.now, }, }, { timestamps: true } ); module.exports = mongoose.model('Report', reportSchema);