import mongoose, { Document, Schema } from 'mongoose';

export interface IWishlist extends Document {
  user?: mongoose.Types.ObjectId | null;
  products: mongoose.Types.ObjectId[]; // product ids only
  createdAt: Date;
  updatedAt: Date;
}

const WishlistSchema: Schema = new Schema({
  user: { type: Schema.Types.ObjectId, ref: 'User', default: null },
  products: [{ type: Schema.Types.ObjectId, ref: 'Product' }],
}, { timestamps: true });

WishlistSchema.index({ user: 1 });

export default mongoose.models.Wishlist || mongoose.model<IWishlist>('Wishlist', WishlistSchema);
