drivers/dist-import/pilao-de-dados/variaveis.js
2024-10-01 16:01:44 -03:00

59 lines
1.9 KiB
JavaScript

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,
});