This commit is contained in:
Luiz Silva 2024-05-07 10:17:51 -03:00
parent f30428ce4d
commit 1968877db8
63 changed files with 6 additions and 12 deletions

1
dist-import/aleatorio.d.ts vendored Normal file
View file

@ -0,0 +1 @@
export declare const aleatorio: (tamanho?: number) => string;

2
dist-import/aleatorio.js Normal file
View file

@ -0,0 +1,2 @@
const alfabeto = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");
export const aleatorio = (tamanho) => Array.from({ length: tamanho || 8 }, () => `ale-${alfabeto[Math.floor(Math.random() * 1000) % alfabeto.length]}`).join("");

View file

@ -0,0 +1,48 @@
import { z } from "zod";
export declare const InterfaceAuntenticacao: z.ZodObject<{
codigo_usuario: z.ZodString;
nome_usuario: z.ZodString;
email_usuario: z.ZodString;
documento_usuario: z.ZodString;
organizacao: z.ZodString;
rotas: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
sistema: z.ZodString;
sistema_cor: z.ZodString;
sistema_nome: z.ZodString;
sistema_logo: z.ZodString;
/** as url de integração serão armazenadas pelo sistema resíduos e identificado pelo código do token */
codigo_token: z.ZodString;
url_usuarios: z.ZodString;
url_empreendedores: z.ZodString;
url_empreendimentos: z.ZodString;
}, "strip", z.ZodTypeAny, {
codigo_usuario: string;
nome_usuario: string;
email_usuario: string;
documento_usuario: string;
organizacao: string;
rotas: {};
sistema: string;
sistema_cor: string;
sistema_nome: string;
sistema_logo: string;
codigo_token: string;
url_usuarios: string;
url_empreendedores: string;
url_empreendimentos: string;
}, {
codigo_usuario: string;
nome_usuario: string;
email_usuario: string;
documento_usuario: string;
organizacao: string;
rotas: {};
sistema: string;
sistema_cor: string;
sistema_nome: string;
sistema_logo: string;
codigo_token: string;
url_usuarios: string;
url_empreendedores: string;
url_empreendimentos: string;
}>;

View file

@ -0,0 +1,21 @@
import { z } from "zod";
export const InterfaceAuntenticacao = z.object({
// usuários
codigo_usuario: z.string().uuid(),
nome_usuario: z.string(),
email_usuario: z.string(),
documento_usuario: z.string(),
organizacao: z.string(),
rotas: z.object({}),
// Dados do sistema
sistema: z.string(),
sistema_cor: z.string(),
sistema_nome: z.string(),
sistema_logo: z.string(),
// integrações
/** as url de integração serão armazenadas pelo sistema resíduos e identificado pelo código do token */
codigo_token: z.string(),
url_usuarios: z.string().url(),
url_empreendedores: z.string().url(),
url_empreendimentos: z.string().url(),
});

2
dist-import/autorizacoes/index.d.ts vendored Normal file
View file

@ -0,0 +1,2 @@
/** Sistemas vão conversar por meio de autorizações tipar eles aqui */
export * from "./auntenticacaoResiduos";

View file

@ -0,0 +1,2 @@
/** Sistemas vão conversar por meio de autorizações tipar eles aqui */
export * from "./auntenticacaoResiduos";

14
dist-import/constantes.d.ts vendored Normal file
View file

@ -0,0 +1,14 @@
export declare const uuid_null = "00000000-0000-0000-0000-000000000000";
/** Colunas Presentes n maioria das tabelas */
export declare enum camposComuns {
codigo = "codigo",
excluido = "excluido",
data_hora_criacao = "data_hora_criacao",
data_hora_atualizacao = "data_hora_atualizacao",
codigo_usuario_criacao = "codigo_usuario_criacao",
codigo_usuario_atualizacao = "codigo_usuario_atualizacao"
}
/** Palavras comumente usadas */
export declare enum tx {
token = "token"
}

16
dist-import/constantes.js Normal file
View file

@ -0,0 +1,16 @@
export const uuid_null = "00000000-0000-0000-0000-000000000000";
/** Colunas Presentes n maioria das tabelas */
export var camposComuns;
(function (camposComuns) {
camposComuns["codigo"] = "codigo";
camposComuns["excluido"] = "excluido";
camposComuns["data_hora_criacao"] = "data_hora_criacao";
camposComuns["data_hora_atualizacao"] = "data_hora_atualizacao";
camposComuns["codigo_usuario_criacao"] = "codigo_usuario_criacao";
camposComuns["codigo_usuario_atualizacao"] = "codigo_usuario_atualizacao";
})(camposComuns || (camposComuns = {}));
/** Palavras comumente usadas */
export var tx;
(function (tx) {
tx["token"] = "token";
})(tx || (tx = {}));

26
dist-import/consulta.d.ts vendored Normal file
View file

@ -0,0 +1,26 @@
export declare enum operadores {
"=" = "=",
"!=" = "!=",
">" = ">",
">=" = ">=",
"<" = "<",
"<=" = "<=",
like = "like",
in = "in"
}
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;
};

11
dist-import/consulta.js Normal file
View file

@ -0,0 +1,11 @@
export var operadores;
(function (operadores) {
operadores["="] = "=";
operadores["!="] = "!=";
operadores[">"] = ">";
operadores[">="] = ">=";
operadores["<"] = "<";
operadores["<="] = "<=";
operadores["like"] = "like";
operadores["in"] = "in";
})(operadores || (operadores = {}));

1
dist-import/ecosistema/index.d.ts vendored Normal file
View file

@ -0,0 +1 @@
export * from "./urls";

View file

@ -0,0 +1 @@
export * from "./urls";

1
dist-import/ecosistema/urls.d.ts vendored Normal file
View file

@ -0,0 +1 @@
export declare const cdn_carro_de_boi = "https://carro-de-boi-idz-one.b-cdn.net";

View file

@ -0,0 +1 @@
export const cdn_carro_de_boi = "https://carro-de-boi-idz-one.b-cdn.net";

10
dist-import/index.d.ts vendored Normal file
View file

@ -0,0 +1,10 @@
export * from "./respostas";
export * from "./autorizacoes";
export * from "./constantes";
export * from "./consulta";
export * from "./aleatorio";
export * from "./texto_busca";
export * from "./unidades_medida";
export * from "./uuid";
export * from "./provedores";
export * from "./ecosistema";

10
dist-import/index.js Normal file
View file

@ -0,0 +1,10 @@
export * from "./respostas";
export * from "./autorizacoes";
export * from "./constantes";
export * from "./consulta";
export * from "./aleatorio";
export * from "./texto_busca";
export * from "./unidades_medida";
export * from "./uuid";
export * from "./provedores";
export * from "./ecosistema";

4
dist-import/provedores.d.ts vendored Normal file
View file

@ -0,0 +1,4 @@
export declare enum provedores {
"betha-sistemas" = "Betha Sistemas",
"e-licencie-gov" = "e-licencie Gov"
}

View file

@ -0,0 +1,5 @@
export var provedores;
(function (provedores) {
provedores["betha-sistemas"] = "Betha Sistemas";
provedores["e-licencie-gov"] = "e-licencie Gov";
})(provedores || (provedores = {}));

36
dist-import/resposta.d.ts vendored Normal file
View file

@ -0,0 +1,36 @@
export declare const codigosErros: {
400: string;
403: string;
500: string;
504: string;
};
export interface tipoRespostaSucesso<T> {
codigo: 200;
eErro: false;
valor: T;
erro: undefined;
detalhes?: any[];
}
export interface tipoRespostaErro {
codigo: keyof typeof codigosErros;
eErro: true;
erro: string;
valor: undefined;
detalhes?: any[];
}
export type tipoResposta<T> = tipoRespostaSucesso<T> | tipoRespostaErro;
export declare class Resposta<opcoesErroInterno extends any[]> {
funcaoErroInterno: (...opcoes: opcoesErroInterno) => void | Promise<void>;
detalhesErroInterno: boolean;
constructor(funcaoErroInterno: (...arg1: opcoesErroInterno) => void | Promise<void>, opcoes?: {
detalhesErroInterno?: boolean;
});
addResultado<T>(resultado: T): tipoResposta<T>;
addSucesso(resultado: string): tipoResposta<string>;
addTrue(): tipoResposta<true>;
addErro(erro: string, codigo?: keyof typeof codigosErros): tipoRespostaErro;
addErroEspera(erro?: string): tipoRespostaErro;
addErroInterno(...opcoes: opcoesErroInterno): tipoRespostaErro;
addPromise<T>(promise: () => Promise<T> | T, limiteEspera?: number): Promise<tipoResposta<T>>;
}
export declare const respostaCM: Resposta<[]>;

73
dist-import/resposta.js Normal file
View file

@ -0,0 +1,73 @@
import { esperar } from "./variaveisComuns";
export const codigosErros = {
400: "Erro de requisição",
403: "Não autenticado",
500: "Erro interno",
504: "Tempo de resposta excedido",
};
export class Resposta {
constructor(funcaoErroInterno, opcoes) {
this.funcaoErroInterno = funcaoErroInterno;
this.detalhesErroInterno = (opcoes === null || opcoes === void 0 ? void 0 : opcoes.detalhesErroInterno) || false;
}
addResultado(resultado) {
return {
codigo: 200,
eErro: false,
valor: resultado,
erro: undefined,
};
}
addSucesso(resultado) {
return this.addResultado(resultado);
}
addTrue() {
return this.addResultado(true);
}
addErro(erro, codigo) {
return {
codigo: codigo || 400,
eErro: true,
erro: erro,
valor: undefined,
};
}
addErroEspera(erro) {
return {
codigo: 504,
eErro: true,
erro: erro || codigosErros[504],
valor: undefined,
};
}
addErroInterno(...opcoes) {
//comunica o suporte sobre o erro
this.funcaoErroInterno(...opcoes);
return {
codigo: 500,
eErro: true,
erro: "Erro interno: Contate o suporte técnico.",
valor: undefined,
detalhes: this.detalhesErroInterno ? opcoes : undefined,
};
}
async addPromise(promise, limiteEspera) {
try {
const resultado = await Promise.race([
Promise.resolve(promise())
.then((re) => this.addResultado(re))
.catch((er) => this.addErro(er.message || er)),
...(limiteEspera
? [esperar(limiteEspera).then(() => this.addErroEspera())]
: []),
]);
return resultado;
}
catch (error) {
return this.addErro("Erro na resolução da Promessa.");
}
}
}
export const respostaCM = new Resposta(() => {
//
});

34
dist-import/respostas.d.ts vendored Normal file
View file

@ -0,0 +1,34 @@
export type tipoRespostaSucesso<T> = {
cod: 200;
valor: T;
mensagem: undefined;
eErro: false;
eCerto: true;
detalhe?: undefined;
};
export type tipoRespostaErro = {
cod: 400 | 403 | 500;
valor: undefined;
mensagem: string;
eErro: true;
eCerto: false;
detalhes?: string[];
};
export type tipoResposta<T> = tipoRespostaSucesso<T> | tipoRespostaErro;
export declare const gerarRespostas: <T>(registrarErroInterno: (erro: T) => Partial<tipoRespostaErro>) => {
valor: <T_1>(valor: T_1) => tipoRespostaSucesso<T_1>;
valorTrue: () => tipoRespostaSucesso<true>;
erro: (mensagem: string, detalhes?: string[]) => tipoRespostaErro;
erroPermissao: (mensagem?: string, detalhes?: string[]) => tipoRespostaErro;
erroInterno: (parametros: T, mensagem?: string) => tipoRespostaErro;
};
/**
* Uso de respostas em comuns
*/
export declare const respostaComuns: {
valor: <T>(valor: T) => tipoRespostaSucesso<T>;
valorTrue: () => tipoRespostaSucesso<true>;
erro: (mensagem: string, detalhes?: string[]) => tipoRespostaErro;
erroPermissao: (mensagem?: string, detalhes?: string[]) => tipoRespostaErro;
erroInterno: (parametros: unknown, mensagem?: string) => tipoRespostaErro;
};

71
dist-import/respostas.js Normal file
View file

@ -0,0 +1,71 @@
export const gerarRespostas = (registrarErroInterno) => {
/**
* Gera uma resposta de sucesso
*/
const valor = (valor) => {
return {
cod: 200,
valor,
mensagem: undefined,
eErro: false,
eCerto: true,
};
};
/**
* Gera uma resposta de sucesso com valor true
*/
const valorTrue = () => {
return {
cod: 200,
valor: true,
mensagem: undefined,
eErro: false,
eCerto: true,
};
};
/**
* Gera uma resposta de erro conhecido
*/
const erro = (mensagem, detalhes) => {
return {
cod: 400,
valor: undefined,
mensagem,
eErro: true,
eCerto: false,
detalhes,
};
};
/**
* Gera uma resposta de erro de permissão,será necessário fazer o login novamente
*/
const erroPermissao = (mensagem, detalhes) => {
return {
cod: 403,
valor: undefined,
mensagem: mensagem || "Sem permissão para esse recurso.",
eErro: true,
eCerto: false,
detalhes,
};
};
/**
* Gera uma resposta de erro desconhecido, geralmente tem origem de um exception
*/
const erroInterno = (parametros, mensagem) => {
const resRegistro = registrarErroInterno(parametros);
const mensagemFim = `${mensagem || "Erro interno"}`;
return Object.assign({ cod: 500, valor: undefined, mensagem: mensagemFim, eErro: true, eCerto: false }, resRegistro);
};
return {
valor,
valorTrue,
erro,
erroPermissao,
erroInterno,
};
};
/**
* Uso de respostas em comuns
*/
export const respostaComuns = gerarRespostas(() => ({}));

2
dist-import/texto_busca.d.ts vendored Normal file
View file

@ -0,0 +1,2 @@
/** gerar o texto de busca removendo caracteres especies e caixa alta */
export declare const texto_busca: (...texto: any[]) => string;

View file

@ -0,0 +1,11 @@
/** gerar o texto de busca removendo caracteres especies e caixa alta */
export const texto_busca = (...texto) => texto
.map((txt) => txt === null || txt === undefined
? ""
: String(txt)
.normalize("NFD")
// biome-ignore lint/suspicious/noMisleadingCharacterClass: <explanation>
.replace(/[\u0300-\u036f]/g, "")
.replace(/\s+/g, " ")
.toLowerCase())
.join(" ");

7
dist-import/unidades_medida.d.ts vendored Normal file
View file

@ -0,0 +1,7 @@
export declare const unidades_medida: {
unidade: string;
nome: string;
unidade_normalizada: string;
normalizar: (valor: number) => number;
tipo: "massa" | "volume" | "comprimento";
}[];

View file

@ -0,0 +1,72 @@
export const unidades_medida = [
{
unidade: "kg",
nome: "Quilograma",
unidade_normalizada: "kg",
normalizar: (valor) => valor,
tipo: "massa",
},
{
unidade: "g",
nome: "Grama",
unidade_normalizada: "kg",
normalizar: (valor) => valor / 1000,
tipo: "massa",
},
{
unidade: "ton",
nome: "Tonelada",
unidade_normalizada: "kg",
normalizar: (valor) => valor * 1000,
tipo: "massa",
},
{
unidade: "L",
nome: "Litro",
unidade_normalizada: "L",
normalizar: (valor) => valor,
tipo: "volume",
},
{
unidade: "m3",
nome: "Metro Cúbico",
unidade_normalizada: "L",
normalizar: (valor) => valor * 1000,
tipo: "volume",
},
{
unidade: "mL",
nome: "Mililitro",
unidade_normalizada: "L",
normalizar: (valor) => valor / 1000,
tipo: "volume",
},
{
unidade: "cm",
nome: "Centímetro",
unidade_normalizada: "m",
normalizar: (valor) => valor / 100,
tipo: "comprimento",
},
{
unidade: "mm",
nome: "Milímetro",
unidade_normalizada: "m",
normalizar: (valor) => valor / 1000,
tipo: "comprimento",
},
{
unidade: "m",
nome: "Metro",
unidade_normalizada: "m",
normalizar: (valor) => valor,
tipo: "comprimento",
},
{
unidade: "km",
nome: "Quilômetro",
unidade_normalizada: "m",
normalizar: (valor) => valor * 1000,
tipo: "comprimento",
},
];

1
dist-import/uuid.d.ts vendored Normal file
View file

@ -0,0 +1 @@
export declare const uuid: () => string;

12
dist-import/uuid.js Normal file
View file

@ -0,0 +1,12 @@
//Gerar uma uuid V4
const letras = "0123456789abcdef".split("");
export const uuid = () => {
letras.sort(() => Math.random() - 0.5);
const modelo = "xxxxxxxx-xxxx-4xxx-xxxx-xxxxxxxxxxxx".split("");
const retorno = modelo
.map((letra) => letra === "x"
? letras[((1000 * Math.random()) | 0) % letras.length]
: letra)
.join("");
return retorno;
};

1
dist-import/variaveisComuns.d.ts vendored Normal file
View file

@ -0,0 +1 @@
export declare const esperar: (ms: number) => Promise<true>;

View file

@ -0,0 +1 @@
export const esperar = (ms) => new Promise((resolve) => setTimeout(() => resolve(true), ms));