28 lines
748 B
TypeScript
28 lines
748 B
TypeScript
import { z } from "zod"
|
|
|
|
import { ContentEnum } from "@/types/enums/content"
|
|
|
|
export const imageSchema = z.object({
|
|
__typename: z.literal(ContentEnum.blocks.SysAsset),
|
|
description: z.string().optional(),
|
|
dimension: z.object({
|
|
height: z.number(),
|
|
width: z.number(),
|
|
}),
|
|
metadata: z.any(), // JSON
|
|
// system for SysAssets is not the same type
|
|
// as for all other types eventhough they have
|
|
// the exact same structure, that's why systemSchema
|
|
// is not used as that correlates to the
|
|
// EntrySystemField type
|
|
system: z.object({
|
|
uid: z.string(),
|
|
}),
|
|
title: z.string().optional(),
|
|
url: z.string().optional(),
|
|
})
|
|
|
|
export const imageRefsSchema = z.object({
|
|
__typename: z.literal(ContentEnum.blocks.SysAsset),
|
|
})
|