32 lines
824 B
TypeScript
32 lines
824 B
TypeScript
import { z } from "zod";
|
|
import type { PageableParams, PageableList } from "@/shared/model";
|
|
|
|
export interface DomainParams extends PageableParams {
|
|
keywordType?: string;
|
|
keyword?: string;
|
|
siteId?: string;
|
|
useYn?: string;
|
|
}
|
|
|
|
export const domainSchema = z.object({
|
|
siteDmnNo: z.number().nullish(),
|
|
siteId: z.string(),
|
|
dmnAddr: z.string().nonempty(),
|
|
useYn: z.string(),
|
|
rprsDmnYn: z.string(),
|
|
mode: z.string(),
|
|
});
|
|
|
|
export const domainFormSchema = z.object({
|
|
domains: z.array(domainSchema),
|
|
});
|
|
|
|
export type Domain = z.infer<typeof domainSchema>;
|
|
export type DomainFormData = z.infer<typeof domainFormSchema>;
|
|
export type DomainList = PageableList<Domain[]>;
|
|
|
|
export interface DomainService {
|
|
getDomainList(params: DomainParams): Promise<DomainList>;
|
|
saveDomainList(body: Domain[]): Promise<void>;
|
|
}
|