fix: change optional to nullable in validation

This commit is contained in:
Christel Westerberg
2024-05-13 16:41:50 +02:00
parent 43f10abdbc
commit ed052dbfa4
6 changed files with 26 additions and 24 deletions

View File

@@ -15,18 +15,19 @@ import { RTEDocument } from "@/types/rte/node"
const loyaltyPageBlockCardGrid = z.object({
__typename: z.literal(LoyaltyBlocksTypenameEnum.LoyaltyPageBlocksCardGrid),
card_grid: z.object({
title: z.string().optional(),
subtitle: z.string().optional(),
title: z.string().nullable(),
subtitle: z.string().nullable(),
cards: z.array(
z.object({
title: z.string().optional(),
subtitle: z.string().optional(),
title: z.string().nullable(),
subtitle: z.string().nullable(),
referenceConnection: z.object({
edges: z.array(
z.object({
node: z.object({
system: z.object({
uid: z.string(),
locale: z.nativeEnum(Lang),
}),
url: z.string(),
title: z.string(),
@@ -37,7 +38,7 @@ const loyaltyPageBlockCardGrid = z.object({
totalCount: z.number(),
}),
open_in_new_tab: z.boolean(),
cta_text: z.string().optional(),
cta_text: z.string().nullable(),
})
),
}),
@@ -47,11 +48,11 @@ const loyaltyPageDynamicContent = z.object({
LoyaltyBlocksTypenameEnum.LoyaltyPageBlocksDynamicContent
),
dynamic_content: z.object({
title: z.string().optional(),
subtitle: z.string().optional(),
title: z.string().nullable(),
subtitle: z.string().nullable(),
component: z.nativeEnum(LoyaltyComponentEnum),
link: z.object({
text: z.string().optional(),
text: z.string().nullable(),
pageConnection: z.object({
edges: z.array(
z.object({
@@ -74,8 +75,8 @@ const loyaltyPageDynamicContent = z.object({
const loyaltyPageShortcuts = z.object({
__typename: z.literal(LoyaltyBlocksTypenameEnum.LoyaltyPageBlocksShortcuts),
shortcuts: z.object({
title: z.string().optional(),
preamble: z.string().optional(),
title: z.string().nullable(),
preamble: z.string().nullable(),
shortcuts: z.array(
z.object({
linkConnection: z.object({
@@ -89,16 +90,16 @@ const loyaltyPageShortcuts = z.object({
url: z.string(),
web: z
.object({
original_url: z.string().optional(),
original_url: z.string().nullable(),
})
.optional(),
.nullable(),
title: z.string(),
}),
})
),
totalCount: z.number(),
}),
text: z.string().optional(),
text: z.string().nullable(),
open_in_new_tab: z.boolean(),
})
),
@@ -143,15 +144,15 @@ const loyaltyPageJoinLoyaltyContact = z.object({
SidebarTypenameEnum.LoyaltyPageSidebarJoinLoyaltyContact
),
join_loyalty_contact: z.object({
title: z.string().optional(),
preamble: z.string().optional(),
title: z.string().nullable(),
preamble: z.string().nullable(),
contact: z.array(
z.object({
__typename: z.literal(
JoinLoyaltyContactTypenameEnum.LoyaltyPageSidebarJoinLoyaltyContactBlockContactContact
),
contact: z.object({
display_text: z.string().optional(),
display_text: z.string().nullable(),
contact_field: z.string(),
}),
@@ -170,8 +171,10 @@ export const validateLoyaltyPageSchema = z.object({
items: z.array(
z.object({
title: z.string(),
heading: z.string().nullable(),
blocks: z.array(loyaltyPageBlockItem).nullable(),
sidebar: z.array(loyaltyPageSidebarItem).nullable(),
system: z.object({ uid: z.string() }),
})
),
}),