25 lines
721 B
TypeScript
25 lines
721 B
TypeScript
import { z } from "zod/v4";
|
|
|
|
export const DirectoryDomainOptionsQuerySchema = z.strictObject({
|
|
search: z.string().trim().max(100).default(""),
|
|
cursor: z
|
|
.uuid()
|
|
.transform((value) => value.toLowerCase())
|
|
.optional(),
|
|
});
|
|
|
|
export const DirectoryDomainOptionSchema = z.strictObject({
|
|
id: z.uuid(),
|
|
name: z.string().min(1),
|
|
normalizedDns: z.string().min(1),
|
|
});
|
|
|
|
export const DirectoryDomainOptionsResponseSchema = z.strictObject({
|
|
items: z.array(DirectoryDomainOptionSchema).max(20),
|
|
nextCursor: z.uuid().nullable(),
|
|
});
|
|
|
|
export type DirectoryDomainOption = z.infer<typeof DirectoryDomainOptionSchema>;
|
|
|
|
export type DirectoryDomainOptionsQuery = z.infer<typeof DirectoryDomainOptionsQuerySchema>;
|