From e30a1a6f405e9a901c4c8f95792857b9dfd2f2c2 Mon Sep 17 00:00:00 2001 From: "Luiz H. R. Silva" Date: Tue, 4 Jun 2024 13:00:36 -0300 Subject: [PATCH] . --- dist-import/autenticacao.d.ts | 2 +- dist-import/autenticacao.js | 2 +- dist-import/index.d.ts | 1 + dist-import/index.js | 1 + dist-import/respostas.d.ts | 34 +++++++++++ dist-import/respostas.js | 76 +++++++++++++++++++++++ dist-require/autenticacao.d.ts | 2 +- dist-require/autenticacao.js | 6 +- dist-require/index.d.ts | 1 + dist-require/index.js | 1 + dist-require/respostas.d.ts | 34 +++++++++++ dist-require/respostas.js | 80 ++++++++++++++++++++++++ package.json | 2 +- src/autenticacao.ts | 3 +- src/index.ts | 1 + src/respostas.ts | 108 +++++++++++++++++++++++++++++++++ 16 files changed, 346 insertions(+), 8 deletions(-) create mode 100644 dist-import/respostas.d.ts create mode 100644 dist-import/respostas.js create mode 100644 dist-require/respostas.d.ts create mode 100644 dist-require/respostas.js create mode 100644 src/respostas.ts diff --git a/dist-import/autenticacao.d.ts b/dist-import/autenticacao.d.ts index 8a9cd10..8b761a1 100644 --- a/dist-import/autenticacao.d.ts +++ b/dist-import/autenticacao.d.ts @@ -1,4 +1,4 @@ -import { type tipoResposta } from "~comuns"; +import { type tipoResposta } from "./respostas"; type tipoPostValidarTokem = { token: string; }; diff --git a/dist-import/autenticacao.js b/dist-import/autenticacao.js index f922949..6e7186d 100644 --- a/dist-import/autenticacao.js +++ b/dist-import/autenticacao.js @@ -1,4 +1,4 @@ -import { respostaComuns } from "~comuns"; +import { respostaComuns } from "./respostas"; const urlAutenticacao = (ambiente) => `${ambiente == "producao" ? "https://carro-de-boi.idz.one" : "http://localhost:5030"}/autenticacao`; diff --git a/dist-import/index.d.ts b/dist-import/index.d.ts index 6475344..2a403c3 100644 --- a/dist-import/index.d.ts +++ b/dist-import/index.d.ts @@ -1,2 +1,3 @@ export * from "./tokenQuipo"; export * from "./autenticacao"; +export * from "./respostas"; diff --git a/dist-import/index.js b/dist-import/index.js index 6475344..2a403c3 100644 --- a/dist-import/index.js +++ b/dist-import/index.js @@ -1,2 +1,3 @@ export * from "./tokenQuipo"; export * from "./autenticacao"; +export * from "./respostas"; diff --git a/dist-import/respostas.d.ts b/dist-import/respostas.d.ts new file mode 100644 index 0000000..8159105 --- /dev/null +++ b/dist-import/respostas.d.ts @@ -0,0 +1,34 @@ +export type tipoRespostaSucesso = { + cod: 200; + valor: T; + mensagem: undefined; + eErro: false; + eCerto: true; + detalhe?: undefined; +}; +export type tipoRespostaErro = { + cod: 400 | 401 | 500; + valor: undefined; + mensagem: string; + eErro: true; + eCerto: false; + detalhe?: string[]; +}; +export type tipoResposta = tipoRespostaSucesso | tipoRespostaErro; +export declare const gerarRespostas: (registrarErroInterno: (erro: T) => Partial) => { + valor: (valor: T_1) => tipoRespostaSucesso; + valorTrue: () => tipoRespostaSucesso; + erro: (mensagem: string) => tipoRespostaErro; + erroPermissao: (mensagem?: string) => tipoRespostaErro; + erroInterno: (parametros: T, mensagem?: string) => tipoRespostaErro; +}; +/** + * Uso de respostas em comuns + */ +export declare const respostaComuns: { + valor: (valor: T) => tipoRespostaSucesso; + valorTrue: () => tipoRespostaSucesso; + erro: (mensagem: string) => tipoRespostaErro; + erroPermissao: (mensagem?: string) => tipoRespostaErro; + erroInterno: (parametros: unknown, mensagem?: string) => tipoRespostaErro; +}; diff --git a/dist-import/respostas.js b/dist-import/respostas.js new file mode 100644 index 0000000..f2d5bfc --- /dev/null +++ b/dist-import/respostas.js @@ -0,0 +1,76 @@ +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) => { + return { + cod: 400, + valor: undefined, + mensagem, + eErro: true, + eCerto: false, + }; + }; + /** + * Gera uma resposta de erro de permissão,será necessário fazer o login novamente + */ + const erroPermissao = (mensagem) => { + return { + cod: 401, + valor: undefined, + mensagem: mensagem || "Sem permissão para esse recurso.", + eErro: true, + eCerto: false, + }; + }; + /** + * 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 { + 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(() => ({})); diff --git a/dist-require/autenticacao.d.ts b/dist-require/autenticacao.d.ts index 8a9cd10..8b761a1 100644 --- a/dist-require/autenticacao.d.ts +++ b/dist-require/autenticacao.d.ts @@ -1,4 +1,4 @@ -import { type tipoResposta } from "~comuns"; +import { type tipoResposta } from "./respostas"; type tipoPostValidarTokem = { token: string; }; diff --git a/dist-require/autenticacao.js b/dist-require/autenticacao.js index 3ed926c..bdb60e0 100644 --- a/dist-require/autenticacao.js +++ b/dist-require/autenticacao.js @@ -1,7 +1,7 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.pAutenticacao = void 0; -const _comuns_1 = require("~comuns"); +const respostas_1 = require("./respostas"); const urlAutenticacao = (ambiente) => `${ambiente == "producao" ? "https://carro-de-boi.idz.one" : "http://localhost:5030"}/autenticacao`; @@ -21,11 +21,11 @@ const validarToken = async ({ ambiente, post, buscar, }) => { const codigoContaSite = async ({ ambiente, post, buscar, }) => { const url = `${urlAutenticacao(ambiente)}/autenticacao/api/codigo_prefeitura_site`; try { - const resp = await buscar(url, post).catch((e) => _comuns_1.respostaComuns.erro(`erro ao buscar código do site: ${e}`)); + const resp = await buscar(url, post).catch((e) => respostas_1.respostaComuns.erro(`erro ao buscar código do site: ${e}`)); return resp; } catch (e) { - return _comuns_1.respostaComuns.erro(`erro ao buscar código do site: ${e}`); + return respostas_1.respostaComuns.erro(`erro ao buscar código do site: ${e}`); } }; /** todas as rotas de comunicação com autenticador partem dessa variável */ diff --git a/dist-require/index.d.ts b/dist-require/index.d.ts index 6475344..2a403c3 100644 --- a/dist-require/index.d.ts +++ b/dist-require/index.d.ts @@ -1,2 +1,3 @@ export * from "./tokenQuipo"; export * from "./autenticacao"; +export * from "./respostas"; diff --git a/dist-require/index.js b/dist-require/index.js index a287750..30eb08f 100644 --- a/dist-require/index.js +++ b/dist-require/index.js @@ -16,3 +16,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) { Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./tokenQuipo"), exports); __exportStar(require("./autenticacao"), exports); +__exportStar(require("./respostas"), exports); diff --git a/dist-require/respostas.d.ts b/dist-require/respostas.d.ts new file mode 100644 index 0000000..8159105 --- /dev/null +++ b/dist-require/respostas.d.ts @@ -0,0 +1,34 @@ +export type tipoRespostaSucesso = { + cod: 200; + valor: T; + mensagem: undefined; + eErro: false; + eCerto: true; + detalhe?: undefined; +}; +export type tipoRespostaErro = { + cod: 400 | 401 | 500; + valor: undefined; + mensagem: string; + eErro: true; + eCerto: false; + detalhe?: string[]; +}; +export type tipoResposta = tipoRespostaSucesso | tipoRespostaErro; +export declare const gerarRespostas: (registrarErroInterno: (erro: T) => Partial) => { + valor: (valor: T_1) => tipoRespostaSucesso; + valorTrue: () => tipoRespostaSucesso; + erro: (mensagem: string) => tipoRespostaErro; + erroPermissao: (mensagem?: string) => tipoRespostaErro; + erroInterno: (parametros: T, mensagem?: string) => tipoRespostaErro; +}; +/** + * Uso de respostas em comuns + */ +export declare const respostaComuns: { + valor: (valor: T) => tipoRespostaSucesso; + valorTrue: () => tipoRespostaSucesso; + erro: (mensagem: string) => tipoRespostaErro; + erroPermissao: (mensagem?: string) => tipoRespostaErro; + erroInterno: (parametros: unknown, mensagem?: string) => tipoRespostaErro; +}; diff --git a/dist-require/respostas.js b/dist-require/respostas.js new file mode 100644 index 0000000..2944f7a --- /dev/null +++ b/dist-require/respostas.js @@ -0,0 +1,80 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.respostaComuns = exports.gerarRespostas = void 0; +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) => { + return { + cod: 400, + valor: undefined, + mensagem, + eErro: true, + eCerto: false, + }; + }; + /** + * Gera uma resposta de erro de permissão,será necessário fazer o login novamente + */ + const erroPermissao = (mensagem) => { + return { + cod: 401, + valor: undefined, + mensagem: mensagem || "Sem permissão para esse recurso.", + eErro: true, + eCerto: false, + }; + }; + /** + * 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 { + cod: 500, + valor: undefined, + mensagem: mensagemFim, + eErro: true, + eCerto: false, + ...resRegistro, + }; + }; + return { + valor, + valorTrue, + erro, + erroPermissao, + erroInterno, + }; +}; +exports.gerarRespostas = gerarRespostas; +/** + * Uso de respostas em comuns + */ +exports.respostaComuns = (0, exports.gerarRespostas)(() => ({})); diff --git a/package.json b/package.json index 7534895..f342dcb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "~drives", - "version": "0.15.0", + "version": "0.18.0", "description": "", "main": "src/index.ts", "exports": { diff --git a/src/autenticacao.ts b/src/autenticacao.ts index 189dd8a..283a2e9 100644 --- a/src/autenticacao.ts +++ b/src/autenticacao.ts @@ -1,4 +1,5 @@ -import { respostaComuns, type tipoResposta } from "~comuns" +import { respostaComuns, type tipoResposta } from "./respostas" + type tipoPostValidarTokem = { token: string } type tipoPostCodigoContaSite = { site: string } diff --git a/src/index.ts b/src/index.ts index e159102..0f6cf16 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,2 +1,3 @@ export * from "./tokenQuipo" export * from "./autenticacao" +export * from "./respostas" diff --git a/src/respostas.ts b/src/respostas.ts new file mode 100644 index 0000000..a14395c --- /dev/null +++ b/src/respostas.ts @@ -0,0 +1,108 @@ +export type tipoRespostaSucesso = { + cod: 200 + valor: T + mensagem: undefined + eErro: false + eCerto: true + detalhe?: undefined +} + +export type tipoRespostaErro = { + //400 é um erro conhecido, + //500 é um erro desconhecido, geralmente tem origem de um exception + cod: 400 | 401 | 500 + valor: undefined + mensagem: string + eErro: true + eCerto: false + detalhe?: string[] +} + +export type tipoResposta = tipoRespostaSucesso | tipoRespostaErro + +export const gerarRespostas = ( + registrarErroInterno: (erro: T) => Partial, +) => { + /** + * Gera uma resposta de sucesso + */ + const valor = (valor: T): tipoRespostaSucesso => { + return { + cod: 200, + valor, + mensagem: undefined, + eErro: false, + eCerto: true, + } + } + + /** + * Gera uma resposta de sucesso com valor true + */ + const valorTrue = (): tipoRespostaSucesso => { + return { + cod: 200, + valor: true, + mensagem: undefined, + eErro: false, + eCerto: true, + } + } + + /** + * Gera uma resposta de erro conhecido + */ + const erro = (mensagem: string): tipoRespostaErro => { + return { + cod: 400, + valor: undefined, + mensagem, + eErro: true, + eCerto: false, + } + } + + /** + * Gera uma resposta de erro de permissão,será necessário fazer o login novamente + */ + const erroPermissao = (mensagem?: string): tipoRespostaErro => { + return { + cod: 401, + valor: undefined, + mensagem: mensagem || "Sem permissão para esse recurso.", + eErro: true, + eCerto: false, + } + } + + /** + * Gera uma resposta de erro desconhecido, geralmente tem origem de um exception + */ + const erroInterno = (parametros: T, mensagem?: string): tipoRespostaErro => { + const resRegistro = registrarErroInterno(parametros) + + const mensagemFim = `${mensagem || "Erro interno"}` + + return { + 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(() => ({}))