30 lines
676 B
TypeScript
30 lines
676 B
TypeScript
import { z } from "zod";
|
|
|
|
export const referenceResourceFormSchema = z
|
|
.object({
|
|
name: z
|
|
.string()
|
|
.trim()
|
|
.min(2, "이름은 두 글자 이상이어야 합니다.")
|
|
.max(120),
|
|
note: z.string().trim().max(500).default(""),
|
|
})
|
|
.strict();
|
|
|
|
export type ReferenceResourceFormValues = z.infer<
|
|
typeof referenceResourceFormSchema
|
|
>;
|
|
|
|
export const REFERENCE_FORM_DEFAULTS: ReferenceResourceFormValues =
|
|
Object.freeze({
|
|
name: "",
|
|
note: "",
|
|
});
|
|
|
|
export function toCreateReferenceCommand(values: ReferenceResourceFormValues) {
|
|
return Object.freeze({
|
|
name: values.name,
|
|
...(values.note ? { note: values.note } : {}),
|
|
});
|
|
}
|