Study/src/app/api/auth/password-reset/complete/route.ts
Elijah 95af276d2e
All checks were successful
Automated Container Build / build-and-push (push) Successful in 1m6s
Refactor login flow with reset token support
2026-07-12 07:53:48 -07:00

24 lines
750 B
TypeScript

import { NextRequest, NextResponse } from "next/server";
import { completePasswordResetSchema } from "@/lib/validation/authSchemas";
import { completePasswordReset } from "@/services/authService";
export async function POST(request: NextRequest) {
const parsed = completePasswordResetSchema.safeParse(
await request.json().catch(() => null)
);
if (!parsed.success) {
return NextResponse.json(
{ error: parsed.error.issues[0]?.message ?? "Invalid request" },
{ status: 400 }
);
}
if (!(await completePasswordReset(parsed.data.password))) {
return NextResponse.json(
{ error: "Reset authorization is invalid or expired" },
{ status: 401 }
);
}
return NextResponse.json({ success: true });
}