All files / src/models comments_model.ts

100% Statements 35/35
100% Branches 1/1
100% Functions 1/1
100% Lines 35/35

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 381x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 3x 3x 3x 3x 3x 3x 3x 3x 3x 1x 1x 1x      
import mongoose, { Document, Schema } from 'mongoose';
import { IComment } from '../types/comment_types';
 
 
const commentSchema: Schema = new mongoose.Schema({
    postId: {
        type: mongoose.Schema.Types.ObjectId,
        ref: "Posts",
        required: true,
    },
    content: {
        type: String,
        required: true,
    },
    author: {
        type: mongoose.Schema.Types.ObjectId,
        required: true,
        ref: "User"
    },
}, { timestamps: true, strict: true });
 
commentSchema.set('toJSON', {
    transform: (doc: Document, ret: Record<string, any>) => {
        return {
            id: ret._id,
            postId: ret.postId,
            content: ret.content,
            author: ret.author,
            createdAt: ret.createdAt,
            updatedAt: ret.updatedAt,
        };
    }
});
 
export const CommentModel = mongoose.model<IComment>("Comments", commentSchema);