diff --git a/src/common/utils/validation/host/hostCompanyDetails.validation.ts b/src/common/utils/validation/host/hostCompanyDetails.validation.ts index 0012e4e..a6ca41a 100644 --- a/src/common/utils/validation/host/hostCompanyDetails.validation.ts +++ b/src/common/utils/validation/host/hostCompanyDetails.validation.ts @@ -2,8 +2,8 @@ import { z } from "zod"; export const parentCompanySchema = z.object({ companyName: z.string() - .min(1, "Parent company name is required") - .max(100, "Parent company name cannot exceed 100 characters"), + .max(100, "Parent company name cannot exceed 100 characters") + .optional(), address1: z.string() .max(150, "Address1 cannot exceed 150 characters") @@ -44,7 +44,7 @@ export const parentCompanySchema = z.object({ }), companyTypeXid: z.number() - .min(1, "Company type XID is required"), + .optional(), websiteUrl: z.string().nullable().optional(), instagramUrl: z.string().nullable().optional(), diff --git a/src/modules/host/handlers/Host_Admin/onboarding/submitCompanyDetails.ts b/src/modules/host/handlers/Host_Admin/onboarding/submitCompanyDetails.ts index 675770a..40491aa 100644 --- a/src/modules/host/handlers/Host_Admin/onboarding/submitCompanyDetails.ts +++ b/src/modules/host/handlers/Host_Admin/onboarding/submitCompanyDetails.ts @@ -159,6 +159,15 @@ export const handler = safeHandler(async (event: APIGatewayProxyEvent): Promise< } } + if ( + companyDetailsRaw.parentCompany && + Object.values(companyDetailsRaw.parentCompany).every( + (v) => v === undefined || v === null + ) + ) { + companyDetailsRaw.parentCompany = null; + } + /** 6) Profile update if provided */ if (fields.userProfile) { const userProfileRaw = normalizeJsonField(fields, 'userProfile');