nakama/backend/models/Report.js

50 lines
1.0 KiB
JavaScript

const mongoose = require('mongoose');
const ReportSchema = new mongoose.Schema({
reporter: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User',
required: true
},
post: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Post'
},
// Тип репорта: 'post' (жалоба на пост) или 'tag_suggestion' (предложение тега)
type: {
type: String,
enum: ['post', 'tag_suggestion'],
default: 'post'
},
reason: {
type: String,
required: true,
maxlength: 500
},
// Для предложения тега
suggestedTag: {
tagName: String,
category: {
type: String,
enum: ['theme', 'style', 'mood', 'technical']
},
description: String
},
status: {
type: String,
enum: ['pending', 'reviewed', 'resolved', 'dismissed'],
default: 'pending'
},
reviewedBy: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User'
},
createdAt: {
type: Date,
default: Date.now
}
});
module.exports = mongoose.model('Report', ReportSchema);