From 594a279186f8665b6a98d64be16eb408509a660d Mon Sep 17 00:00:00 2001 From: Michael Zetterberg Date: Mon, 9 Dec 2024 15:13:30 +0100 Subject: [PATCH] fix(DELIGHT-11001): do not require address key in user profile --- components/Forms/Edit/Profile/index.tsx | 8 ++++---- server/routers/user/output.ts | 17 ++++++++++------- server/routers/user/query.ts | 10 +++++----- 3 files changed, 19 insertions(+), 16 deletions(-) diff --git a/components/Forms/Edit/Profile/index.tsx b/components/Forms/Edit/Profile/index.tsx index 89097ae31..5d4d8dec3 100644 --- a/components/Forms/Edit/Profile/index.tsx +++ b/components/Forms/Edit/Profile/index.tsx @@ -55,10 +55,10 @@ export default function Form({ user }: EditFormProps) { const methods = useForm({ defaultValues: { address: { - city: user.address.city ?? "", - countryCode: user.address.countryCode ?? "", - streetAddress: user.address.streetAddress ?? "", - zipCode: user.address.zipCode ?? "", + city: user.address?.city ?? "", + countryCode: user.address?.countryCode ?? "", + streetAddress: user.address?.streetAddress ?? "", + zipCode: user.address?.zipCode ?? "", }, dateOfBirth: user.dateOfBirth, email: user.email, diff --git a/server/routers/user/output.ts b/server/routers/user/output.ts index a9e7a0416..b37962aab 100644 --- a/server/routers/user/output.ts +++ b/server/routers/user/output.ts @@ -22,13 +22,16 @@ export const getUserSchema = z .object({ data: z.object({ attributes: z.object({ - address: z.object({ - city: z.string().optional(), - country: z.string().optional(), - countryCode: z.nativeEnum(countriesMap).optional(), - streetAddress: z.string().optional(), - zipCode: z.string().optional(), - }), + address: z + .object({ + city: z.string().optional(), + country: z.string().optional(), + countryCode: z.nativeEnum(countriesMap).optional(), + streetAddress: z.string().optional(), + zipCode: z.string().optional(), + }) + .optional() + .nullable(), dateOfBirth: z.string().optional().default("1900-01-01"), email: z.string().email(), firstName: z.string(), diff --git a/server/routers/user/query.ts b/server/routers/user/query.ts index 730a7972f..a49c75bda 100644 --- a/server/routers/user/query.ts +++ b/server/routers/user/query.ts @@ -170,15 +170,15 @@ export const getVerifiedUser = cache( ) export function parsedUser(data: User, isMFA: boolean) { - const country = countries.find((c) => c.code === data.address.countryCode) + const country = countries.find((c) => c.code === data.address?.countryCode) const user = { address: { - city: data.address.city, + city: data.address?.city, country: country?.name ?? "", - countryCode: data.address.countryCode, - streetAddress: data.address.streetAddress, - zipCode: data.address.zipCode, + countryCode: data.address?.countryCode, + streetAddress: data.address?.streetAddress, + zipCode: data.address?.zipCode, }, dateOfBirth: data.dateOfBirth, email: data.email,