import { defineCollection, z } from 'astro:content'

const legal = defineCollection({
  type: 'content',
  // Astro резервирует поле `slug` — если оно есть в frontmatter, оно
  // используется как slug страницы, но в схеме его описывать нельзя.
  schema: z.object({
    title: z.string(),
    last_updated: z.coerce.date(),
  }),
})

const blog = defineCollection({
  type: 'content',
  schema: z.object({
    title: z.string(),
    description: z.string(),
    date: z.coerce.date(),
    author: z.string().optional(),
    category: z.string().optional(),
    cover_image: z.string().optional(),
  }),
})

const kb = defineCollection({
  type: 'content',
  schema: z.object({
    title: z.string(),
    category: z.string(),
    order: z.number().default(0),
  }),
})

export const collections = { legal, blog, kb }
