Spaces:
Paused
Paused
Download Models/Feedback.js from imkrish/campverse-backend: direct link, hf CLI and curl.
- Browser
- Download file 1.34 kB
-
https://huggingface.co/spaces/imkrish/campverse-backend/resolve/main/Models/Feedback.js
- Command line
-
hf download hf://spaces/imkrish/campverse-backend/Models/Feedback.js
-
curl -L -o Feedback.js https://huggingface.co/spaces/imkrish/campverse-backend/resolve/main/Models/Feedback.js
1.34 kB
| const mongoose = require('mongoose'); | |
| const feedbackSchema = new mongoose.Schema({ | |
| userId: { | |
| type: mongoose.Schema.Types.ObjectId, | |
| ref: 'User', | |
| required: true, | |
| }, | |
| rating: { | |
| type: Number, | |
| required: true, | |
| min: 1, | |
| max: 5, | |
| }, | |
| category: { | |
| type: String, | |
| required: true, | |
| enum: ['ui', 'bug', 'feature', 'performance', 'events', 'other'], | |
| }, | |
| subject: { | |
| type: String, | |
| required: true, | |
| trim: true, | |
| maxlength: 200, | |
| }, | |
| message: { | |
| type: String, | |
| required: true, | |
| trim: true, | |
| maxlength: 2000, | |
| }, | |
| email: { | |
| type: String, | |
| required: true, | |
| trim: true, | |
| }, | |
| attachment: { | |
| filename: String, | |
| url: String, | |
| mimetype: String, | |
| size: Number, | |
| }, | |
| status: { | |
| type: String, | |
| enum: ['pending', 'reviewed', 'resolved', 'closed'], | |
| default: 'pending', | |
| }, | |
| adminNotes: { | |
| type: String, | |
| trim: true, | |
| maxlength: 1000, | |
| }, | |
| reviewedBy: { | |
| type: mongoose.Schema.Types.ObjectId, | |
| ref: 'User', | |
| }, | |
| reviewedAt: Date, | |
| createdAt: { | |
| type: Date, | |
| default: Date.now, | |
| }, | |
| updatedAt: { | |
| type: Date, | |
| default: Date.now, | |
| }, | |
| }); | |
| // Update timestamp on save | |
| feedbackSchema.pre('save', function (next) { | |
| this.updatedAt = new Date(); | |
| next(); | |
| }); | |
| module.exports = mongoose.model('Feedback', feedbackSchema); | |