import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
import { HydratedDocument } from 'mongoose';

export type PasswordResetTokenDocument = HydratedDocument<PasswordResetToken>;

@Schema({ timestamps: { createdAt: true, updatedAt: false }, collection: 'password_reset_tokens' })
export class PasswordResetToken {
  @Prop({ required: true, index: true })
  email: string;

  @Prop({ required: true })
  tokenHash: string;

  @Prop({ required: true, index: true })
  expiresAt: Date;

  @Prop({ default: false })
  consumed: boolean;
}

export const PasswordResetTokenSchema = SchemaFactory.createForClass(PasswordResetToken);
