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

export interface ILeads extends Document {
  name: string;
  phone_number: string;
}

const LeadsSchema: Schema = new Schema({
  name: {
    type: String,
    required: [true, 'Name is required'],
    trim: true,
    maxlength: [250, 'Name cannot exceed 250 characters']
  },
  phone_number: {
    type: String,
    required: [true, 'Phone number is required'],
    unique: true,
    validate: {
        validator: function (v: string) {
        return /^[6-9]\d{9}$/.test(v);
        },
        message: 'Invalid Indian phone number'
    }
  },
}, {
  timestamps: true
});

// Index for better performance
LeadsSchema.index({ phone_number: 1 });

export default mongoose.models.Leads || mongoose.model<ILeads>('Leads', LeadsSchema);