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

export interface IRewardCatalog extends Document {
  name: string;
  description?: string;
  type: 'physical' | 'non-physical';
  points_required: number;
  quantity?: number; // null or undefined means unlimited
  image_url?: string;
  is_active: boolean;
  createdAt: Date;
  updatedAt: Date;
}

const rewardCatalogSchema = new Schema<IRewardCatalog>({
  name: { type: String, required: true },
  description: { type: String },
  type: { type: String, enum: ['physical','digital'], required: true },
  points_required: { type: Number, required: true },
  quantity: { type: Number },
  image_url: { type: String },
  is_active: { type: Boolean, default: true },
}, { timestamps: true });

export default mongoose.model<IRewardCatalog>('RewardCatalog', rewardCatalogSchema);
