refactor: reuse query code for both loyalty and account pages

This commit is contained in:
Matilda Landström
2024-05-27 16:13:44 +02:00
parent 0b694f6a74
commit fb4fbb1cbd
9 changed files with 150 additions and 271 deletions

View File

@@ -10,50 +10,26 @@ export const getBreadcrumbsSchema = z.array(
})
)
const validateBreadcrumbs = z.object({
breadcrumbs: z.object({
title: z.string(),
parentsConnection: z.object({
edges: z.array(
z.object({
node: z.object({
breadcrumbs: z.object({
title: z.string(),
}),
system: z.object({
locale: z.nativeEnum(Lang),
uid: z.string(),
}),
url: z.string(),
}),
})
),
}),
}),
})
const validateBreadcrumbsRefs = z.object({
breadcrumbs: z.object({
parentsConnection: z.object({
edges: z.array(
z.object({
node: z.object({
system: z.object({
content_type_uid: z.string(),
uid: z.string(),
}),
}),
})
),
}),
}),
})
export const validateBreadcrumbsRefsContentstackSchemaAccountPage = z.object({
all_account_page: z.object({
export const validateBreadcrumbsRefsContentstackSchema = z.object({
all_page: z.object({
items: z.array(
z.object({
web: validateBreadcrumbsRefs,
web: z.object({
breadcrumbs: z.object({
parentsConnection: z.object({
edges: z.array(
z.object({
node: z.object({
system: z.object({
content_type_uid: z.string(),
uid: z.string(),
}),
}),
})
),
}),
}),
}),
system: z.object({
content_type_uid: z.string(),
uid: z.string(),
@@ -63,38 +39,31 @@ export const validateBreadcrumbsRefsContentstackSchemaAccountPage = z.object({
}),
})
export const validateBreadcrumbsContentstackSchemaAccountPage = z.object({
all_account_page: z.object({
export const validateBreadcrumbsContentstackSchema = z.object({
all_page: z.object({
items: z.array(
z.object({
web: validateBreadcrumbs,
system: z.object({
uid: z.string(),
}),
})
),
}),
})
export const validateBreadcrumbsRefsContentstackSchemaLoyaltyPage = z.object({
all_loyalty_page: z.object({
items: z.array(
z.object({
web: validateBreadcrumbsRefs,
system: z.object({
content_type_uid: z.string(),
uid: z.string(),
}),
})
),
}),
})
export const validateBreadcrumbsContentstackSchemaLoyaltyPage = z.object({
all_loyalty_page: z.object({
items: z.array(
z.object({
web: validateBreadcrumbs,
web: z.object({
breadcrumbs: z.object({
title: z.string(),
parentsConnection: z.object({
edges: z.array(
z.object({
node: z.object({
breadcrumbs: z.object({
title: z.string(),
}),
system: z.object({
locale: z.nativeEnum(Lang),
uid: z.string(),
}),
url: z.string(),
}),
})
),
}),
}),
}),
system: z.object({
uid: z.string(),
}),