Files
frontend/apps/cs/src/pages/template/model/template-interface.ts
T

43 lines
1.1 KiB
TypeScript

import { z } from "zod";
import type { PageableParams, PageableList } from "@/shared/model";
export interface TemplateParams extends PageableParams {
keywordType?: string;
keyword?: string;
tmpltSeCd?: string;
useYn?: string;
}
export interface Template {
tmpltSn: number;
tmpltNm: string;
tmpltCn: string;
tmpltSeCd: string;
tmpltSeNm: string;
useYn: string;
delYn: string;
regDt: string;
mdfcnDt: string;
rgTrNm: string;
mdfr: string;
mdfrNm: string;
}
export const templateFormSchema = z.object({
tmpltNm: z.string(),
tmpltCn: z.string(),
tmpltSeCd: z.string(),
useYn: z.string().nullish(),
});
export type TemplateList = PageableList<Template>;
export type TemplateFormData = z.infer<typeof templateFormSchema>;
export interface TemplateService {
getTemplateList(params: TemplateParams): Promise<TemplateList>;
getTemplateInfo(tmpltSn: string): Promise<Template>;
createTemplate(data: TemplateFormData): Promise<void>;
updateTemplate(tmpltSn: string, data: TemplateFormData): Promise<void>;
deleteTemplate(tmpltSn: string): Promise<void>;
}