43 lines
1.1 KiB
TypeScript
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>;
|
|
}
|