From d8119e9807ba2333e15d4dbd899b74b87ecdc82d Mon Sep 17 00:00:00 2001 From: Camille Moussu <66134347+Eriikah@users.noreply.github.com> Date: Wed, 25 Mar 2026 12:43:59 +0100 Subject: [PATCH] [#706] skip malformed email adresses in get userdatafromEmail (#712) Co-authored-by: Camille Moussu --- src/components/Attendees/PeopleSearch.tsx | 3 +-- src/features/Events/api/getUserDataFromEmail.ts | 4 ++++ src/utils/isValidEmail.tsx | 3 +++ 3 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 src/utils/isValidEmail.tsx diff --git a/src/components/Attendees/PeopleSearch.tsx b/src/components/Attendees/PeopleSearch.tsx index e74d657..63a8d93 100644 --- a/src/components/Attendees/PeopleSearch.tsx +++ b/src/components/Attendees/PeopleSearch.tsx @@ -26,6 +26,7 @@ import { } from "react"; import { useI18n } from "twake-i18n"; import { ResourceIcon } from "./ResourceIcon"; +import { isValidEmail } from "../../utils/isValidEmail"; export interface User { email: string; @@ -99,8 +100,6 @@ export function PeopleSearch({ setSnackbarMessage, } = useUserSearch({ objectTypes, errorMessage }); - const isValidEmail = (email: string) => - /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email); const theme = useTheme(); const handleBlurCommit = useCallback( diff --git a/src/features/Events/api/getUserDataFromEmail.ts b/src/features/Events/api/getUserDataFromEmail.ts index 8317f55..47cc3f7 100644 --- a/src/features/Events/api/getUserDataFromEmail.ts +++ b/src/features/Events/api/getUserDataFromEmail.ts @@ -1,6 +1,10 @@ import { api } from "@/utils/apiUtils"; +import { isValidEmail } from "@/utils/isValidEmail"; export async function getUserDataFromEmail(email: string) { + if (!isValidEmail(email)) { + return []; + } const r = await api(`api/users?email=${encodeURIComponent(email)}`); const result: Array> = await r.json(); return result; diff --git a/src/utils/isValidEmail.tsx b/src/utils/isValidEmail.tsx new file mode 100644 index 0000000..293ba6d --- /dev/null +++ b/src/utils/isValidEmail.tsx @@ -0,0 +1,3 @@ +export function isValidEmail(email: string) { + return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email); +}