Files
leim-tools/models/World.ts
2025-03-02 20:02:51 +01:00

24 lines
612 B
TypeScript

import { z } from "zod"
import type { Calendar } from "./CalendarConfig"
import { rpgColorSchema, type RPGColor } from "./Color"
export type WorldState = "published" | "draft" | "archived"
export interface World {
id?: number
name: string
description?: string
color?: RPGColor,
calendars?: Calendar[],
gmId?: string
state?: WorldState
}
export const postWorldSchema = z.object({
name: z.string(),
description: z.string().optional().nullable(),
color: rpgColorSchema.default("white"),
gmId: z.string().optional().nullable(),
state: z.string().optional().nullable().default("draft"),
})