import mongoose, { Schema, Document } from 'mongoose'; export interface IConclusionRemark extends Document { conclusionId: string; requestId: string; // Manual conclusion finalRemark?: string; // AI generated aiGeneratedRemark?: string; aiModelUsed?: string; aiConfidenceScore?: number; // Summaries approvalSummary?: { totalLevels?: number; approvedLevels?: number; averageTatUsage?: number; }; documentSummary?: { totalDocuments?: number; documentNames?: string[]; }; keyDiscussionPoints?: string[]; // Metadata editedBy?: string; // userId isEdited?: boolean; editCount?: number; generatedAt?: Date; finalizedAt?: Date; createdAt: Date; updatedAt: Date; } const ConclusionRemarkSchema = new Schema({ conclusionId: { type: String, required: false, unique: false }, // Can be auto-generated or UUID requestId: { type: String, required: true, index: true }, finalRemark: String, aiGeneratedRemark: String, aiModelUsed: String, aiConfidenceScore: Number, approvalSummary: { totalLevels: Number, approvedLevels: Number, averageTatUsage: Number }, documentSummary: { totalDocuments: Number, documentNames: [String] }, keyDiscussionPoints: [String], editedBy: String, isEdited: { type: Boolean, default: false }, editCount: { type: Number, default: 0 }, generatedAt: Date, finalizedAt: Date }, { timestamps: true, collection: 'conclusion_remarks' }); export const ConclusionRemarkModel = mongoose.model('ConclusionRemark', ConclusionRemarkSchema);