import { Schema, model, Document, Types } from 'mongoose'

const ReactionSchema = new Schema(
	{
		user: {
			type: Types.ObjectId,
			ref: 'User',
			required: true,
		},
		chat: {
			type: Types.ObjectId,
			ref: 'Chat',
			required: true
		},
		message: {
			type: Types.ObjectId,
			ref: 'Message',
			required: true
		},
		reaction: {
			type: String,
			default: '❤️',
		},
		at: {
			type: Date,
			default: Date
		},
	},
	{ versionKey: false }
)

export interface IReaction extends Document {
	_id: Types.ObjectId
	user: Types.ObjectId
	message: Types.ObjectId
	chat: Types.ObjectId
	reaction: string
	at: Date
}

export const Reaction = model('Reaction', ReactionSchema, 'reactions')
