This commit is contained in:
Luiz H. R. Silva 2024-06-04 13:00:36 -03:00
parent 645b3b551e
commit e30a1a6f40
16 changed files with 346 additions and 8 deletions

View file

@ -1,4 +1,4 @@
import { type tipoResposta } from "~comuns";
import { type tipoResposta } from "./respostas";
type tipoPostValidarTokem = {
token: string;
};

View file

@ -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`;

View file

@ -1,2 +1,3 @@
export * from "./tokenQuipo";
export * from "./autenticacao";
export * from "./respostas";

View file

@ -1,2 +1,3 @@
export * from "./tokenQuipo";
export * from "./autenticacao";
export * from "./respostas";

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 | 401 | 500;
valor: undefined;
mensagem: string;
eErro: true;
eCerto: false;
detalhe?: 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) => tipoRespostaErro;
erroPermissao: (mensagem?: 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) => tipoRespostaErro;
erroPermissao: (mensagem?: string) => tipoRespostaErro;
erroInterno: (parametros: unknown, mensagem?: string) => tipoRespostaErro;
};

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

@ -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(() => ({}));

View file

@ -1,4 +1,4 @@
import { type tipoResposta } from "~comuns";
import { type tipoResposta } from "./respostas";
type tipoPostValidarTokem = {
token: string;
};

View file

@ -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 */

View file

@ -1,2 +1,3 @@
export * from "./tokenQuipo";
export * from "./autenticacao";
export * from "./respostas";

View file

@ -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);

34
dist-require/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 | 401 | 500;
valor: undefined;
mensagem: string;
eErro: true;
eCerto: false;
detalhe?: 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) => tipoRespostaErro;
erroPermissao: (mensagem?: 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) => tipoRespostaErro;
erroPermissao: (mensagem?: string) => tipoRespostaErro;
erroInterno: (parametros: unknown, mensagem?: string) => tipoRespostaErro;
};

80
dist-require/respostas.js Normal file
View file

@ -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)(() => ({}));

View file

@ -1,6 +1,6 @@
{
"name": "~drives",
"version": "0.15.0",
"version": "0.18.0",
"description": "",
"main": "src/index.ts",
"exports": {

View file

@ -1,4 +1,5 @@
import { respostaComuns, type tipoResposta } from "~comuns"
import { respostaComuns, type tipoResposta } from "./respostas"
type tipoPostValidarTokem = { token: string }
type tipoPostCodigoContaSite = { site: string }

View file

@ -1,2 +1,3 @@
export * from "./tokenQuipo"
export * from "./autenticacao"
export * from "./respostas"

108
src/respostas.ts Normal file
View file

@ -0,0 +1,108 @@
export type tipoRespostaSucesso<T> = {
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<T> = tipoRespostaSucesso<T> | tipoRespostaErro
export const gerarRespostas = <T>(
registrarErroInterno: (erro: T) => Partial<tipoRespostaErro>,
) => {
/**
* Gera uma resposta de sucesso
*/
const valor = <T>(valor: T): tipoRespostaSucesso<T> => {
return {
cod: 200,
valor,
mensagem: undefined,
eErro: false,
eCerto: true,
}
}
/**
* Gera uma resposta de sucesso com valor true
*/
const valorTrue = (): tipoRespostaSucesso<true> => {
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(() => ({}))