import { z } from "zod"; export const SQLServerConfigSchema = z.object({ user: z.string().nonempty("User is required."), password: z.string().nonempty("Password is required."), database: z.string().nonempty("Database name is required."), server: z.string().nonempty("Server is required."), port: z.coerce.number().int().positive("Port must be a positive integer.").default(1433), connectionTimeout: z.coerce .number() .int() .positive("Connection timeout must be a positive integer.") .default(30000), requestTimeout: z.coerce .number() .int() .positive("Request timeout must be a positive integer.") .default(60000), pool: z.object({ max: z.coerce .number() .int() .positive("Max pool size must be a positive integer.") .default(10), min: z.coerce .number() .int() .nonnegative("Min pool size must be a non-negative integer.") .default(0), idleTimeoutMillis: z.coerce .number() .int() .nonnegative("Idle timeout must be a non-negative integer.") .default(30000), }), options: z.object({ encrypt: z.coerce.boolean().default(false), trustServerCertificate: z.coerce.boolean().default(false), }), });