From 0d704cc997b863070d5dca7acf7ae4c8d0ad7046 Mon Sep 17 00:00:00 2001 From: Max Peintner Date: Mon, 9 Dec 2024 14:00:00 +0100 Subject: [PATCH] resend password reset --- .../src/components/set-password-form.tsx | 31 ++++++++++++++++++- apps/login/src/lib/zitadel.ts | 5 --- 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/apps/login/src/components/set-password-form.tsx b/apps/login/src/components/set-password-form.tsx index 66059f150f1..d2e5c739401 100644 --- a/apps/login/src/components/set-password-form.tsx +++ b/apps/login/src/components/set-password-form.tsx @@ -6,7 +6,11 @@ import { symbolValidator, upperCaseValidator, } from "@/helpers/validators"; -import { changePassword, sendPassword } from "@/lib/server/password"; +import { + changePassword, + resetPassword, + sendPassword, +} from "@/lib/server/password"; import { create } from "@zitadel/client"; import { ChecksSchema } from "@zitadel/proto/zitadel/session/v2/session_service_pb"; import { PasswordComplexitySettings } from "@zitadel/proto/zitadel/settings/v2/password_settings_pb"; @@ -62,6 +66,29 @@ export function SetPasswordForm({ const router = useRouter(); + async function resendCode() { + setError(""); + setLoading(true); + + const response = await resetPassword({ + loginName, + organization, + authRequestId, + }) + .catch(() => { + setError("Could not reset password"); + return; + }) + .finally(() => { + setLoading(false); + }); + + if (response && "error" in response) { + setError(response.error); + return; + } + } + async function submitPassword(values: Inputs) { setLoading(true); let payload: { userId: string; password: string; code?: string } = { @@ -184,6 +211,8 @@ export function SetPasswordForm({ diff --git a/apps/login/src/lib/zitadel.ts b/apps/login/src/lib/zitadel.ts index 0afc4c4dc19..e273a24c653 100644 --- a/apps/login/src/lib/zitadel.ts +++ b/apps/login/src/lib/zitadel.ts @@ -445,11 +445,6 @@ export async function verifyEmail(userId: string, verificationCode: string) { ); } -/** - * - * @param userId the id of the user where the email should be set - * @returns the newly set email - */ export async function resendEmailCode(userId: string) { return userService.resendEmailCode( {