import { respostaComuns } from "p-respostas"; import { z } from "zod"; export const zp_deletar_registros = z.object({ tabela: z.string(), codigos: z.array(z.string()), }); export const zAmbiente = z.enum(["desenvolvimento", "producao"]); export const PREFIXO_PILAO = "/pilao-de-dados"; export const validarZ = (zodType, objeto, mensagem) => { const validar = zodType.safeParse(objeto); if (!validar.success) { return respostaComuns.erro(mensagem, validar.error.errors.map((e) => `${e.path} ${e.message}`)); } return respostaComuns.valor(validar.data); }; export const zp_produto_conta = z.object({ produto: z.string(), conta: z.string(), emDesenvolvimento: z.boolean().optional(), ver_log: z.boolean().optional(), }); export const z_tipo_coluna_base_dados = z.enum([ "texto", "numero", "confirmacao", "lista_texto", "lista_numero", "lista_mes", "lista_data", "mes", "data", ]); export const operadores_pilao = z.enum(["=", "!=", ">", "<", ">=", "<=", "∩"]); export const operadores_permitidos_por_tipo = { confirmacao: ["=", "!="], data: ["=", "!=", ">", "<", ">=", "<="], lista_numero: ["∩"], lista_texto: ["∩"], lista_mes: ["∩"], lista_data: ["∩"], mes: ["=", "!=", ">", "<", ">=", "<="], numero: ["=", "!=", ">", "<", ">=", "<="], texto: ["=", "!="], }; export const z_validar_colunna_base_dados = { texto: z.string().nullable(), numero: z.number().nullable(), confirmacao: z.boolean().nullable(), lista_texto: z.array(z.string()).nullable(), lista_numero: z.array(z.number()).nullable(), }; export const urlPilao = (emDesenvolvimento) => ({ api: (emDesenvolvimento ? "http://127.0.0.1:5080" : "https://carro-de-boi.idz.one") + PREFIXO_PILAO, site: (emDesenvolvimento ? "http://127.0.0.1:5081" : "https://carro-de-boi.idz.one") + PREFIXO_PILAO, });