Self-service password reset

This commit is contained in:
2025-10-06 18:26:01 -04:00
parent 53c9ba8fd7
commit c127ea35f6
13 changed files with 683 additions and 21 deletions

View File

@@ -0,0 +1,25 @@
import { getPasswordResetCode } from '~/server/utils/database'
export default defineEventHandler(async (event) => {
const body = await readBody(event)
const { email, code } = body
if (!email || !code) {
throw createError({
statusCode: 400,
message: 'Email and code are required',
})
}
// Verify code exists and hasn't expired
const resetCode = getPasswordResetCode(email, code)
if (!resetCode) {
throw createError({
statusCode: 400,
message: 'Invalid or expired reset code',
})
}
return { success: true, message: 'Code verified successfully' }
})