الملفات
back_end_oudelaa/src/modules/auth/schemas/password-reset-code.schema.ts
boutmoun123 5bd5e19a89
فشلت بعض الفحوصات
/ deploy (push) Failing after 1m22s
feat: expand backend admin marketplace and scaling
2026-05-14 16:44:07 +03:00

32 أسطر
969 B
TypeScript

import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
import { HydratedDocument, Types } from 'mongoose';
import { User } from '../../users/schemas/user.schema';
export type PasswordResetCodeDocument = HydratedDocument<PasswordResetCode>;
@Schema({ timestamps: true, versionKey: false })
export class PasswordResetCode {
@Prop({ type: Types.ObjectId, ref: User.name, required: true, index: true })
userId!: Types.ObjectId;
@Prop({ required: true, select: false })
codeHash!: string;
@Prop({ required: true })
expiresAt!: Date;
@Prop({ default: 0, min: 0 })
attempts!: number;
@Prop({ default: false, index: true })
verified!: boolean;
@Prop({ default: false, index: true })
used!: boolean;
}
export const PasswordResetCodeSchema = SchemaFactory.createForClass(PasswordResetCode);
PasswordResetCodeSchema.index({ userId: 1, used: 1, expiresAt: -1 });
PasswordResetCodeSchema.index({ expiresAt: 1 }, { expireAfterSeconds: 0 });