This commit is contained in:
Luiz H. R. Silva 2024-07-05 15:22:45 -03:00
parent 9aa20d03a1
commit 1361effbf6
16 changed files with 47 additions and 234 deletions

View file

@ -2,12 +2,8 @@ import node_fetch from "cross-fetch"
import type { tipoResposta } from "p-respostas"
import { respostaComuns } from "p-respostas"
import { z } from "zod"
import {
operadores_pilao,
tiposSeriesAgregacoes,
urlPilao,
type zp_produto_conta,
} from "./variaveis"
import { operadores_pilao, urlPilao, type zp_produto_conta } from "./variaveis"
import type { visoes } from "./visoes"
export const z_filtro = z.object({
coluna: z.string(),
@ -15,27 +11,24 @@ export const z_filtro = z.object({
operador: operadores_pilao,
})
export const zp_serie_registrar = z.object({
tabela: z.string(),
colanuEixoX: z.string(),
colunaAgrupamento: z.string().array().optional(),
agregacao: tiposSeriesAgregacoes,
filtros: z_filtro.array().optional(),
})
export const serie_consultar =
(cliente: z.infer<typeof zp_produto_conta>) =>
(parametros: z.infer<typeof zp_serie_registrar>) => {
<T extends keyof typeof visoes>(
tipoVisao: T,
parametros: z.infer<(typeof visoes)[T]>,
) => {
const dados = async (): Promise<
tipoResposta<{
registros: any[]
legenda: string
serie: z.infer<typeof zp_serie_registrar>
serie: {
[key: string]: any
}
}>
> => {
const url = new URL(
`${urlPilao(cliente.emDesenvolvimento).api}/${
tiposSeriesAgregacoes.enum.contagem
tipoVisao
}/${cliente.produto}/${cliente.conta}`,
)
@ -55,7 +48,7 @@ export const serie_consultar =
const url = (): string => {
const vUrl = new URL(
`${urlPilao(cliente.emDesenvolvimento).site}/${tiposSeriesAgregacoes.enum.contagem}/${cliente.produto}/${cliente.conta}`,
`${urlPilao(cliente.emDesenvolvimento).site}/${tipoVisao}/${cliente.produto}/${cliente.conta}`,
)
const serie = encodeURIComponent(JSON.stringify(parametros, null, 2))

View file

@ -8,25 +8,17 @@ import {
import {
operadores_permitidos_por_tipo,
operadores_pilao,
tiposSeriesAgregacoes,
validarZ,
zp_produto_conta,
} from "./variaveis"
import {
serie_consultar,
z_filtro,
zp_serie_registrar,
} from "./_serie_consultar"
import { serie_consultar, z_filtro } from "./_serie_consultar"
import { extruturas_de_campos, visoes } from "./visoes"
export { tiposSeriesAgregacoes }
export const pPilao = {
zp_registrar_base_dados,
enviar_registros,
zp_enviar_registros,
zp_serie_registrar,
serie_consultar,
zp_produto_conta,
validarZ,

View file

@ -52,8 +52,6 @@ export const operadores_permitidos_por_tipo: {
texto: ["=", "!="],
}
export const tiposSeriesAgregacoes = z.enum(["contagem", "somatoria"])
export const z_validar_colunna_base_dados = {
texto: z.string().nullable(),
numero: z.number().nullable(),