import type { Context } from "hono";
import type { ZodSchema } from "zod";

export const queryParamsValidator =
  (schema: ZodSchema) => (value: Record<string, string>, ctx: Context) => {
    const parsed = schema.safeParse(value);
    if (!parsed.success) {
      return ctx.text("Missing params", 400);
    }
    return parsed.data as Record<string, string>;
  };

export const bodyValidator =
  (schema: ZodSchema) => (value: Record<string, string>, ctx: Context) => {
    const parsed = schema.safeParse(value);
    if (parsed.error) {
      return ctx.text("Invalid request body", 400);
    }
    return parsed.data as Record<string, string>;
  };
