import mongoose, { Schema } from 'mongoose';

function FeedbackModel(dbObject: typeof mongoose) {
    const dataModel = new Schema({
        userId: { type: String, required: false }, // Made optional
        companyId: { type: String, required: false }, // Made optional
        documentId: { type: String, required: false }, // Added for document ratings
        feedbackDate: { type: Date, default: Date.now },
        rating: { type: Number, required: true, min: 1, max: 5 },
        feedbackComment: { type: String, required: false } // Made optional
    });

    // Force model recompilation to update schema changes
    if (dbObject.models && dbObject.models.feedbacks) {
        delete dbObject.models.feedbacks;
    }

    return dbObject.model("feedbacks", dataModel);
}

export default FeedbackModel;
