const mongoose = require('mongoose'); const { Schema, model, SchemaTypes } = mongoose; const mongoosePaginate = require('mongoose-paginate-v2'); mongoose.Types.ObjectId.isValid(); const messageSchema = new Schema( { message: { type: String, default: null, }, replyMessage: { type: String, default: null, }, forwardMessage: { type: String, default: null, }, companionId: { type: String, default: null, }, companionIdFlow: { type: String, default: null, }, companionIdForwardToAndFrom: { type: String, default: null, }, name: { type: String, default: null, }, lastName: { type: String, default: null, }, replyName: { type: String, default: null, }, replyLastName: { type: String, default: null, }, forwardName: { type: String, default: null, }, forwardLastName: { type: String, default: null, }, avatarUrl: { type: String, default: null, }, color: { type: String, default: null, }, number: { type: String, default: null, }, type: { type: String, default: null, }, fullType: { type: String, default: null, }, idTime: { type: String, default: null, }, oldId: { type: String, default: null, }, caption: { type: String, default: null, }, replyCaption: { type: String, default: null, }, forwardCaption: { type: String, default: null, }, emoji: { type: String, default: null, }, emojiCompanion: { type: String, default: null, }, pinned: { type: Boolean, default: false, }, edited: { type: Boolean, default: false, }, deleted: { type: Boolean, default: false, }, reject: { type: Boolean, default: false, }, initiator: { type: Boolean, default: false, }, duration: { type: Number, default: null, }, owner: { type: SchemaTypes.ObjectId, ref: 'user', }, }, { timestamps: true } ); messageSchema.plugin(mongoosePaginate); const Message = model('message', messageSchema); module.exports = Message;