import z from "zod" export enum operadores { "=" = "=", "!=" = "!=", ">" = ">", ">=" = ">=", "<" = "<", "<=" = "<=", like = "like", in = "in", isNull = "isnull", } export type tipoFiltro = { coluna: string valor: any operador: keyof typeof operadores | operadores ou?: boolean } export type interfaceConsulta = { offset?: number limit?: number filtros?: tipoFiltro[] ordem?: string ordemTipo?: "asc" | "desc" colunas?: string[] apenasConsulta?: boolean apenasContagem?: boolean } export const zOperadores = z.enum([ "=", "!=", ">", ">=", "<", "<=", "like", "in", "isNull", ]) export const zFiltro = z.object({ coluna: z.string(), valor: z.any(), operador: zOperadores, ou: z.boolean().optional(), })