isolamento de pacote

This commit is contained in:
Luiz Silva 2025-07-06 18:35:12 -03:00
commit f34b66cbe4
96 changed files with 2285 additions and 0 deletions

View file

@ -0,0 +1,9 @@
import { type tipoResposta } from "p-respostas";
type tipoPostCodigoContaSite = {
site: string;
};
export declare const codigoContaSite: ({ url_api_autenticacao, post, }: {
url_api_autenticacao: string;
post: tipoPostCodigoContaSite;
}) => Promise<tipoResposta<string>>;
export {};

View file

@ -0,0 +1,19 @@
import { respostaComuns } from "p-respostas";
import node_fetch from "cross-fetch";
export const codigoContaSite = async ({ url_api_autenticacao, post, }) => {
const url = `${url_api_autenticacao}/api/codigo_prefeitura_site`;
try {
const resp = await node_fetch(url, {
method: "POST",
body: JSON.stringify(post),
headers: { "Content-Type": "application/json" },
})
.then((r) => r.json())
.catch((e) => respostaComuns.erro("Erro ao enviar registros", [e.message]))
.then((r) => r);
return resp;
}
catch (e) {
return respostaComuns.erro(`erro ao buscar código do site: ${e}`);
}
};

View file

@ -0,0 +1,17 @@
import { type tipoResposta } from "p-respostas";
import type { tipo_usuarios__listar_retorno } from "../lista-usuarios";
export type tipoUsuarioExterno = {
_nome: string;
_email: string;
_telefone: string;
vinculo: string;
inquilino: string;
chave_produto: string;
codigo: string;
_cpf: string;
};
export declare const usuarios_quipo: ({ token_produto, url_api_autenticacao, inquilino, }: {
url_api_autenticacao: string;
token_produto: string;
inquilino: string;
}) => Promise<tipoResposta<tipo_usuarios__listar_retorno[]>>;

View file

@ -0,0 +1,19 @@
import node_fetch from "cross-fetch";
import { respostaComuns } from "p-respostas";
export const usuarios_quipo = async ({ token_produto, url_api_autenticacao, inquilino, }) => {
const url = `${url_api_autenticacao}/api/usuarios__listar`;
if (!token_produto)
return respostaComuns.erro("token_produto não informado");
const headers = {
token: token_produto,
"Content-Type": "application/json",
};
return node_fetch(url, {
method: "POST",
body: JSON.stringify({ inquilino }),
headers,
})
.then((r) => r.json())
.catch((e) => respostaComuns.erro(`Erro ao buscar usuários quipo governo ${e.message}`))
.then((r) => r);
};

View file

@ -0,0 +1,9 @@
import { type tipoResposta } from "p-respostas";
export declare const usuarios_quipo_vincular: ({ token_produto, url_api_autenticacao, inquilino_codigo, vinculo, usuario_codigo, email, }: {
url_api_autenticacao: string;
token_produto: string;
inquilino_codigo: string;
vinculo: string;
usuario_codigo?: string;
email: string;
}) => Promise<tipoResposta<string>>;

View file

@ -0,0 +1,22 @@
import node_fetch from "cross-fetch";
import { respostaComuns } from "p-respostas";
export const usuarios_quipo_vincular = async ({ token_produto, url_api_autenticacao, inquilino_codigo, vinculo, usuario_codigo, email, }) => {
const url = `${url_api_autenticacao}/api/vinculos__criar`;
if (!token_produto)
return respostaComuns.erro("token_produto não informado");
const headers = {
token: token_produto,
"Content-Type": "application/json",
};
const parametros = {
vinculos: { inquilino_codigo, usuario_codigo, vinculo },
email: email,
};
return await node_fetch(url, {
headers,
body: JSON.stringify(parametros),
method: "POST",
})
.then(async (r) => await r.json())
.catch((e) => respostaComuns.erro(`Erro ao criar vinculo de usuario ${e.message}`));
};

View file

@ -0,0 +1,9 @@
type tipoPostValidarTokem = {
token: string;
};
/** faz a validação do token */
export declare const validarToken: ({ url_api_autenticacao, post, }: {
url_api_autenticacao: string;
post: tipoPostValidarTokem;
}) => Promise<"valido" | "erro">;
export {};

View file

@ -0,0 +1,20 @@
import node_fetch from "cross-fetch";
/** faz a validação do token */
export const validarToken = async ({ url_api_autenticacao, post, }) => {
const url = `${url_api_autenticacao}/api/validar_token`;
try {
const resposta = await node_fetch(url, {
method: "POST",
body: JSON.stringify(post),
headers: { "Content-Type": "application/json" },
})
.then((r) => r.json())
.then((r) => r)
.then((resposta) => resposta.eCerto ? "valido" : "erro")
.catch(() => "erro");
return resposta;
}
catch (_e) {
return "erro";
}
};

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

@ -0,0 +1,30 @@
import { type tipoUsuarioExterno } from "./_usuarios_quipo";
export type { tipoUsuarioExterno };
/** todas as rotas de comunicação com autenticador partem dessa variável */
export declare const pAutenticacao: {
validarToken: ({ url_api_autenticacao, post, }: {
url_api_autenticacao: string;
post: {
token: string;
};
}) => Promise<"valido" | "erro">;
codigoContaSite: ({ url_api_autenticacao, post, }: {
url_api_autenticacao: string;
post: {
site: string;
};
}) => Promise<import("p-respostas").tipoResposta<string>>;
usuarios_quipo: ({ token_produto, url_api_autenticacao, inquilino, }: {
url_api_autenticacao: string;
token_produto: string;
inquilino: string;
}) => Promise<import("p-respostas").tipoResposta<import("..").tipo_usuarios__listar_retorno[]>>;
usuarios_quipo_vincular: ({ token_produto, url_api_autenticacao, inquilino_codigo, vinculo, usuario_codigo, email, }: {
url_api_autenticacao: string;
token_produto: string;
inquilino_codigo: string;
vinculo: string;
usuario_codigo?: string;
email: string;
}) => Promise<import("p-respostas").tipoResposta<string>>;
};

View file

@ -0,0 +1,11 @@
import { codigoContaSite } from "./_codigoContaSite";
import { usuarios_quipo } from "./_usuarios_quipo";
import { usuarios_quipo_vincular } from "./_usuarios_quipo_vincular";
import { validarToken } from "./_validarToken";
/** todas as rotas de comunicação com autenticador partem dessa variável */
export const pAutenticacao = {
validarToken,
codigoContaSite,
usuarios_quipo,
usuarios_quipo_vincular,
};

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

@ -0,0 +1,6 @@
export * from "./autenticacao";
export * from "./lista-prefeituras";
export * from "./lista-usuarios";
export * from "./lista-vinculos";
export * from "./produtos";
export * from "./tokens";

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

@ -0,0 +1,6 @@
export * from "./autenticacao";
export * from "./lista-prefeituras";
export * from "./lista-usuarios";
export * from "./lista-vinculos";
export * from "./produtos";
export * from "./tokens";

12
dist-import/lista-prefeituras.d.ts vendored Normal file
View file

@ -0,0 +1,12 @@
import { type tipoResposta } from "p-respostas";
import type { chaves_produto } from "./produtos/tipagem";
export type tipoRetornoListarPrefeitrua = {
nome: string;
inquilino: string;
base_url: string;
produto: keyof typeof chaves_produto;
};
export declare const tx_listar_prefeituras: "listar_prefeituras";
export declare const listarPrefeituras: ({ url_api_autenticacao, }: {
url_api_autenticacao: string;
}) => Promise<tipoResposta<tipoRetornoListarPrefeitrua[]>>;

View file

@ -0,0 +1,21 @@
import cFetch from "cross-fetch";
import { respostaComuns } from "p-respostas";
export const tx_listar_prefeituras = "listar_prefeituras";
export const listarPrefeituras = async ({ url_api_autenticacao, }) => {
const url = `${url_api_autenticacao}/api/${tx_listar_prefeituras}`;
return cFetch(url)
.then(async (a) => {
const texto = await a.text();
try {
const res = JSON.parse(texto);
return res;
}
catch (error) {
return respostaComuns.erro(`Erro ao listar cidades: ${error.message}`, [
texto,
error,
]);
}
})
.catch((error) => respostaComuns.erro(`Erro ao listar cidades: ${error.message}`, [error]));
};

20
dist-import/lista-usuarios.d.ts vendored Normal file
View file

@ -0,0 +1,20 @@
import { type tipoResposta } from "p-respostas";
export declare const tx_usuarios__listar: "usuarios__listar";
export type tipo_usuarios__listar_retorno = {
inquilino: string;
vinculo: string;
codigo: string;
cpf: string;
data_hora_atualizacao: string;
email: string;
id_betha_sistema: string;
nome: string;
telefone: string;
};
export type tipo_usuarios__listar_parametros = {
inquilino?: string;
};
export declare const listarUsuarios: ({ token, url_api_autenticacao, }: {
url_api_autenticacao: string;
token: string;
}, parametros: tipo_usuarios__listar_parametros) => Promise<tipoResposta<tipo_usuarios__listar_retorno[]>>;

View file

@ -0,0 +1,22 @@
import cFetch from "cross-fetch";
import { respostaComuns } from "p-respostas";
export const tx_usuarios__listar = "usuarios__listar";
export const listarUsuarios = async ({ token, url_api_autenticacao, }, parametros) => {
const url = `${url_api_autenticacao}/api/${tx_usuarios__listar}`;
return cFetch(url, {
headers: { token, "Content-Type": "application/json" },
body: JSON.stringify(parametros),
method: "post",
})
.then(async (a) => {
const texto = await a.text();
try {
const res = JSON.parse(texto);
return res;
}
catch (error) {
return respostaComuns.erro(`Erro ao listar usuários: ${error.message}`, [texto, error]);
}
})
.catch((error) => respostaComuns.erro(`Erro ao listar usuários: ${error.message}`, [error]));
};

16
dist-import/lista-vinculos.d.ts vendored Normal file
View file

@ -0,0 +1,16 @@
import { type tipoResposta } from "p-respostas";
export declare const tx_vinculos__listar: "vinculos__listar";
export type tipo_retorno_vinculo_listas = {
codigo: string;
usuario_codigo: string;
inquilino: string;
vinculo: string;
chave_produto: string;
_usuario_nome: string;
_inquilino_nome: string;
_inquilino_base_url: string;
};
export declare const listarVinculos: ({ token, url_api_autenticacao, }: {
url_api_autenticacao: string;
token: string;
}) => Promise<tipoResposta<tipo_retorno_vinculo_listas[]>>;

View file

@ -0,0 +1,25 @@
import cFetch from "cross-fetch";
import { respostaComuns } from "p-respostas";
export const tx_vinculos__listar = "vinculos__listar";
export const listarVinculos = async ({ token, url_api_autenticacao, }) => {
const url = `${url_api_autenticacao}/api/${tx_vinculos__listar}`;
return cFetch(url, {
headers: { token, "Content-Type": "application/json" },
body: "{}",
method: "post",
})
.then(async (a) => {
const texto = await a.text();
try {
const res = JSON.parse(texto);
return res;
}
catch (error) {
return respostaComuns.erro(`Erro ao listar cidades: ${error.message}`, [
texto,
error,
]);
}
})
.catch((error) => respostaComuns.erro(`Erro ao listar cidades: ${error.message}`, [error]));
};

View file

@ -0,0 +1,2 @@
import { ProdutoQuipo } from "./tipagem";
export declare const produto_betha_meio_ambiente: ProdutoQuipo<"betha-meio-ambiente">;

View file

@ -0,0 +1,9 @@
import { ProdutoQuipo } from "./tipagem";
export const produto_betha_meio_ambiente = new ProdutoQuipo({
chave_produto: "betha-meio-ambiente",
titulo: "Betha Meio Ambiente",
descricao: "Betha Meio Ambiente: Software de gestão de processos ambientais para órgãos públicos da Betha Sistemas.",
url_produto: ({ inquilino, base_url, vinculo }) => `${base_url}/${inquilino}${vinculo == "anonimo"
? ""
: `/${vinculo}#/admin`}`,
});

View file

@ -0,0 +1,2 @@
import { ProdutoQuipo } from "./tipagem";
export declare const produto_e_licencie_gov: ProdutoQuipo<"e-licencie-gov">;

View file

@ -0,0 +1,10 @@
import { produto_betha_meio_ambiente } from "./_betha-meio-ambiente";
import { ProdutoQuipo } from "./tipagem";
export const produto_e_licencie_gov = new ProdutoQuipo({
...produto_betha_meio_ambiente,
titulo: "e-Licencie Gov",
chave_produto: "e-licencie-gov",
url_produto: ({ inquilino, base_url, vinculo }) => `${base_url}/${inquilino}${vinculo == "anonimo"
? ""
: `/${vinculo}#/admin`}`,
});

2
dist-import/produtos/_e-licencie.d.ts vendored Normal file
View file

@ -0,0 +1,2 @@
import { Produto } from "./tipagem";
export declare const produto_e_licencie: Produto<"e-licencie">;

View file

@ -0,0 +1,7 @@
import { Produto } from "./tipagem";
export const produto_e_licencie = new Produto({
chave_produto: "e-licencie",
titulo: "e-Licencie",
descricao: "e-Licencie: Software de gestão de processos e dados ambientais.",
url_produto: ({ base_url }) => base_url,
});

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

@ -0,0 +1,2 @@
import { Produto } from "./tipagem";
export declare const produto_suporte: Produto<"suporte">;

View file

@ -0,0 +1,7 @@
import { Produto } from "./tipagem";
export const produto_suporte = new Produto({
chave_produto: "suporte",
titulo: "Suporte",
descricao: "Gestão de contas e usuários dos produtos da e-licencie",
url_produto: ({ base_url }) => base_url,
});

31
dist-import/produtos/doc.d.ts vendored Normal file
View file

@ -0,0 +1,31 @@
/**
Produtos existentes:
Atenticacao:
Acesso a gestão de produtos
Apenas uma conta com o código autenticao
/autenticacao
Betha Meio Ambiente:
Acesso a gestão da aplicação Quipo
Acesso pode ser sociedade ou governo
/quipo
Possue limite de acesso a módulos:
Licenciamento
Fiscalização
e-licencie GOV:
Acesso a gestão da aplicação Quipo
Acesso pode ser sociedade ou governo
/quipo
e-licencie:
Acesso a Aplicação e-licencie
Adminstrador e Não adminstrasdor
*/

View file

@ -0,0 +1,32 @@
"use strict";
/**
Produtos existentes:
Atenticacao:
Acesso a gestão de produtos
Apenas uma conta com o código autenticao
/autenticacao
Betha Meio Ambiente:
Acesso a gestão da aplicação Quipo
Acesso pode ser sociedade ou governo
/quipo
Possue limite de acesso a módulos:
Licenciamento
Fiscalização
e-licencie GOV:
Acesso a gestão da aplicação Quipo
Acesso pode ser sociedade ou governo
/quipo
e-licencie:
Acesso a Aplicação e-licencie
Adminstrador e Não adminstrasdor
*/

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

@ -0,0 +1,9 @@
import { produto_betha_meio_ambiente } from "./_betha-meio-ambiente";
import { produto_e_licencie } from "./_e-licencie";
import { produto_e_licencie_gov } from "./_e-licencie-gov";
import { produto_suporte } from "./_suporte";
import { chaves_produto, opcoesVinculos, opcoesVinculosGov, Produto, provedoresGov, versao_usuarios } from "./tipagem";
export declare const listaProdutos: {
[k in keyof typeof chaves_produto]: Produto<k>;
};
export { Produto, chaves_produto, opcoesVinculosGov, opcoesVinculos, provedoresGov, produto_betha_meio_ambiente, produto_e_licencie, produto_e_licencie_gov, produto_suporte, versao_usuarios, };

View file

@ -0,0 +1,12 @@
import { produto_betha_meio_ambiente } from "./_betha-meio-ambiente";
import { produto_e_licencie } from "./_e-licencie";
import { produto_e_licencie_gov } from "./_e-licencie-gov";
import { produto_suporte } from "./_suporte";
import { chaves_produto, opcoesVinculos, opcoesVinculosGov, Produto, provedoresGov, versao_usuarios, } from "./tipagem";
export const listaProdutos = {
"betha-meio-ambiente": produto_betha_meio_ambiente,
"e-licencie": produto_e_licencie,
"e-licencie-gov": produto_e_licencie_gov,
suporte: produto_suporte,
};
export { Produto, chaves_produto, opcoesVinculosGov, opcoesVinculos, provedoresGov, produto_betha_meio_ambiente, produto_e_licencie, produto_e_licencie_gov, produto_suporte, versao_usuarios, };

94
dist-import/produtos/tipagem.d.ts vendored Normal file
View file

@ -0,0 +1,94 @@
/** Lista dos produtos da e-licencie */
export declare enum chaves_produto {
suporte = "suporte",
"betha-meio-ambiente" = "betha-meio-ambiente",
"e-licencie-gov" = "e-licencie-gov",
"e-licencie" = "e-licencie"
}
export declare const opcoesVinculosGov: {
readonly governo: "Governo";
readonly sociedade: "Sociedade";
readonly anonimo: "Anônimo";
};
export declare const opcoesVinculosSuporte: {
readonly "suporte-1": "Suporte Primário";
};
export declare const opcoesVinculos: {
readonly suporte: {
readonly "suporte-1": "Suporte Primário";
};
readonly "betha-meio-ambiente": {
readonly governo: "Governo";
readonly sociedade: "Sociedade";
readonly anonimo: "Anônimo";
};
readonly "e-licencie-gov": {
readonly governo: "Governo";
readonly sociedade: "Sociedade";
readonly anonimo: "Anônimo";
};
readonly "e-licencie": {};
};
export declare const tiposAcesso: {
readonly governo: "Governo";
readonly sociedade: "Sociedade";
readonly anonimo: "Anônimo";
};
export declare const provedoresGov: {
/** Sistema de login da Beta */
readonly "betha-sistemas": "Betha Sistemas";
/** sistema de login do altenticado */
readonly "e-licencie": "e-licencie";
};
type extruturaTokenBase = {
inquilino_codigo: string;
usuario_codigo: string;
usuario_nome: string;
codigo_acesso_produto: string;
codigo_autenticacao: string;
};
type extrutruaraTokenQuipo = extruturaTokenBase & {
inquilino_nome: string;
tipo_de_acesso: keyof typeof opcoesVinculosGov;
provedor: keyof typeof provedoresGov;
};
export declare class Produto<C extends keyof typeof chaves_produto> {
/** Chave do produto*/
chave_produto: C;
/** Titulo do produto */
titulo: string;
/** Descrição do módulo */
descricao: string;
/** URL base do módulo */
url_produto: (_: {
inquilino: string;
base_url: string;
vinculo: string;
}) => string;
constructor(_: {
/** Chave do produto*/ chave_produto: C;
/** Titulo do produto */
titulo: string;
/** Descrição do módulo */
descricao: string;
/** URL base do módulo */
url_produto: (_: {
inquilino: string;
base_url: string;
vinculo: string;
}) => string;
});
extruturaToken(_: extruturaTokenBase): extruturaTokenBase & {
chave_produto: C;
};
}
export declare class ProdutoQuipo<C extends keyof typeof chaves_produto> extends Produto<C> {
extruturaToken(_: extrutruaraTokenQuipo): extrutruaraTokenQuipo & {
chave_produto: C;
};
}
export declare enum versao_usuarios {
versao_usuarios_autenticacao = "versao_usuarios_autenticacao",
versao_usuarios_quipo = "versao_usuarios_quipo"
}
export {};

View file

@ -0,0 +1,50 @@
/** Lista dos produtos da e-licencie */
export var chaves_produto;
(function (chaves_produto) {
chaves_produto["suporte"] = "suporte";
chaves_produto["betha-meio-ambiente"] = "betha-meio-ambiente";
chaves_produto["e-licencie-gov"] = "e-licencie-gov";
chaves_produto["e-licencie"] = "e-licencie";
})(chaves_produto || (chaves_produto = {}));
export const opcoesVinculosGov = {
governo: "Governo",
sociedade: "Sociedade",
anonimo: "Anônimo",
};
export const opcoesVinculosSuporte = {
"suporte-1": "Suporte Primário",
};
export const opcoesVinculos = {
[chaves_produto.suporte]: opcoesVinculosSuporte,
[chaves_produto["betha-meio-ambiente"]]: opcoesVinculosGov,
[chaves_produto["e-licencie-gov"]]: opcoesVinculosGov,
[chaves_produto["e-licencie"]]: {},
};
export const tiposAcesso = opcoesVinculosGov;
export const provedoresGov = {
/** Sistema de login da Beta */
"betha-sistemas": "Betha Sistemas",
/** sistema de login do altenticado */
"e-licencie": "e-licencie",
};
export class Produto {
constructor(_) {
this.chave_produto = _.chave_produto;
this.titulo = _.titulo;
this.descricao = _.descricao;
this.url_produto = _.url_produto;
}
extruturaToken(_) {
return { ..._, chave_produto: this.chave_produto };
}
}
export class ProdutoQuipo extends Produto {
extruturaToken(_) {
return { ..._, chave_produto: this.chave_produto };
}
}
export var versao_usuarios;
(function (versao_usuarios) {
versao_usuarios["versao_usuarios_autenticacao"] = "versao_usuarios_autenticacao";
versao_usuarios["versao_usuarios_quipo"] = "versao_usuarios_quipo";
})(versao_usuarios || (versao_usuarios = {}));

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

@ -0,0 +1,10 @@
import type { provedoresGov } from "../produtos";
export type tipoUsuarioTokenAutneticacao = {
usuario_codigo: string;
usuario_nome: string;
usuario_email: string;
usuario_cpf: string;
autenticacao_codigo: string;
eSuporte: boolean;
autenticacao_provedor: keyof typeof provedoresGov;
};

View file

@ -0,0 +1 @@
export {};