import mongoose from 'mongoose' const boardPostSchema = new mongoose.Schema({ author: { type: mongoose.Schema.Types.ObjectId, ref: 'Member', required: true, }, title: { type: String, required: true, maxlength: 120 }, seeking: { type: String, maxlength: 500 }, offering: { type: String, maxlength: 500 }, note: { type: String, maxlength: 300 }, tags: [String], }, { timestamps: true }) boardPostSchema.pre('validate', function (next) { const seeking = (this.seeking || '').trim() const offering = (this.offering || '').trim() if (!seeking && !offering) { this.invalidate('seeking', 'At least one of seeking or offering must be provided') } next() }) boardPostSchema.index({ author: 1 }) boardPostSchema.index({ createdAt: -1 }) export default mongoose.models.BoardPost || mongoose.model('BoardPost', boardPostSchema)