- Add password-reset Prisma schema for OTP tracking - Add API contract schemas (start, verify, resend) - Add password-reset service with OTP validation and email sending - Add frontend reset-password page with 2-step flow - Add InputOTP component usage for OTP input - Add link to reset-password in login page - Remove link to About in login - Center and resize login/reset password forms
16 lines
597 B
Plaintext
16 lines
597 B
Plaintext
model PasswordResetRequest {
|
|
id String @id @db.Uuid
|
|
email String
|
|
otpHash String @map("otp_hash")
|
|
otpExpiresAt DateTime @map("otp_expires_at")
|
|
otpAttempts Int @default(0) @map("otp_attempts")
|
|
otpLastSentAt DateTime @map("otp_last_sent_at")
|
|
otpResendCount Int @default(0) @map("otp_resend_count")
|
|
usedAt DateTime? @map("used_at")
|
|
createdAt DateTime @default(now()) @map("created_at")
|
|
updatedAt DateTime @updatedAt @map("updated_at")
|
|
|
|
@@index([email])
|
|
@@index([otpExpiresAt])
|
|
@@map("password_reset_requests")
|
|
} |