drivers/src/pilao-de-dados/variaveis.ts
2024-06-28 11:55:31 -03:00

50 lines
1.3 KiB
TypeScript

import { respostaComuns } from "p-respostas"
import { z } from "zod"
export const zAmbiente = z.enum(["desenvolvimento", "producao"])
export const PREFIXO_PILAO = "/pilao-de-dados"
export const validarZ = <T>(
zodType: z.ZodType<T, any>,
objeto: any,
mensagem: string,
) => {
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(),
})
export const z_tipo_coluna_base_dados = z.enum([
"texto",
"numero",
"confirmacao",
"lista_texto",
"lista_numero",
"data",
"mes",
])
export const tiposSeriesAgregacoes = z.enum(["contagem", "somatoria"])
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 baseUrlPilao = (emDesenvolvimento?: boolean | null | undefined) =>
emDesenvolvimento ? "http://127.0.0.1:5080" : "https://carro-de-boi.idz.one"