Files
q-buffer/apps/server/src/utils/validators.ts
2026-01-02 15:49:01 +03:00

26 lines
642 B
TypeScript

import { z } from "zod";
export const allowIpSchema = z
.string()
.ip({ version: "v4" })
.or(z.string().ip({ version: "v6" }));
export const loopStartSchema = z.object({
hash: z.string().min(1),
allowIp: allowIpSchema,
targetLoops: z.number().int().min(1).max(1000),
delayMs: z.number().int().min(0).max(86_400_000),
});
export const dryRunSchema = z.object({
hash: z.string().min(1),
allowIp: allowIpSchema,
});
export const profileSchema = z.object({
name: z.string().min(1).max(64),
allowIp: allowIpSchema,
delayMs: z.number().int().min(0).max(86_400_000),
targetLoops: z.number().int().min(1).max(1000),
});