feat(SW-200): Added noindex property to seo metadata in contentstack and added implementation

This commit is contained in:
Erik Tiekstra
2024-11-15 09:25:54 +01:00
parent 6aba0d8f52
commit 50f285776a
19 changed files with 159 additions and 160 deletions

View File

@@ -3,14 +3,17 @@ import { z } from "zod"
import { tempImageVaultAssetSchema } from "../schemas/imageVault"
import { getDescription, getImages, getTitle } from "./utils"
import type { Metadata } from "next"
import { RTETypeEnum } from "@/types/rte/enums"
export const rawMetaDataDataSchema = z.object({
export const rawMetadataSchema = z.object({
web: z.object({
seo_metadata: z
.object({
title: z.string().optional().nullable(),
description: z.string().optional().nullable(),
noindex: z.boolean().optional().nullable(),
imageConnection: z
.object({
edges: z.array(
@@ -78,12 +81,17 @@ export const rawMetaDataDataSchema = z.object({
.nullable(),
})
export const metaDataSchema = rawMetaDataDataSchema.transform((data) => {
return {
export const metadataSchema = rawMetadataSchema.transform((data) => {
const metadata: Metadata = {
robots: {
index: !data.web.seo_metadata?.noindex,
follow: true,
},
title: getTitle(data),
description: getDescription(data),
openGraph: {
images: getImages(data),
},
}
return metadata
})