mirror of
https://github.com/vas3k/TaxHacker.git
synced 2026-01-10 07:30:51 -06:00
39 lines
1.2 KiB
TypeScript
39 lines
1.2 KiB
TypeScript
import { randomHexColor } from "@/lib/utils"
|
|
import { z } from "zod"
|
|
|
|
export const settingsFormSchema = z.object({
|
|
default_currency: z.string().max(5).optional(),
|
|
default_type: z.string().optional(),
|
|
default_category: z.string().optional(),
|
|
default_project: z.string().optional(),
|
|
openai_api_key: z.string().optional(),
|
|
prompt_analyse_new_file: z.string().optional(),
|
|
is_welcome_message_hidden: z.string().optional(),
|
|
})
|
|
|
|
export const currencyFormSchema = z.object({
|
|
code: z.string().max(5),
|
|
name: z.string().max(32),
|
|
})
|
|
|
|
export const projectFormSchema = z.object({
|
|
name: z.string().max(128),
|
|
llm_prompt: z.string().max(512).nullable().optional(),
|
|
color: z.string().max(7).default(randomHexColor()).nullable().optional(),
|
|
})
|
|
|
|
export const categoryFormSchema = z.object({
|
|
name: z.string().max(128),
|
|
llm_prompt: z.string().max(512).nullable().optional(),
|
|
color: z.string().max(7).default(randomHexColor()).nullable().optional(),
|
|
})
|
|
|
|
export const fieldFormSchema = z.object({
|
|
name: z.string().max(128),
|
|
type: z.string().max(128).default("string"),
|
|
llm_prompt: z.string().max(512).nullable().optional(),
|
|
isVisibleInList: z.boolean().optional(),
|
|
isVisibleInAnalysis: z.boolean().optional(),
|
|
isRequired: z.boolean().optional(),
|
|
})
|