import { Schema, model, Document, Types } from 'mongoose'

const CommunityMemberSchema = new Schema(
	{
		community: {
			type: Types.ObjectId,
			ref: 'Community',
			required: true,
		},
		user: {
			type: Types.ObjectId,
			ref: 'User',
			required: true,
		},
		at: {
			type: Date,
			default: Date
		}
	},
	{ versionKey: false }
)

CommunityMemberSchema.index({ community: 1, user: 1 }, { unique: true })

export interface ICommunityMember extends Document {
	_id: Types.ObjectId
	community: Types.ObjectId
	user: Types.ObjectId
	at: Date
}

export const CommunityMember = model('CommunityMember', CommunityMemberSchema, 'community-members')
