131 lines
4.2 KiB
JavaScript
131 lines
4.2 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.respostaComuns = exports.gerarRespostas = exports.codigosResposta = void 0;
|
|
var codigosResposta;
|
|
(function (codigosResposta) {
|
|
codigosResposta[codigosResposta["sucesso"] = 200] = "sucesso";
|
|
codigosResposta[codigosResposta["erroConhecido"] = 400] = "erroConhecido";
|
|
codigosResposta[codigosResposta["erroPermissao"] = 401] = "erroPermissao";
|
|
codigosResposta[codigosResposta["erroNaoEncontrado"] = 404] = "erroNaoEncontrado";
|
|
codigosResposta[codigosResposta["erroDesconhecido"] = 500] = "erroDesconhecido";
|
|
codigosResposta[codigosResposta["tempoEsgotado"] = 504] = "tempoEsgotado";
|
|
})(codigosResposta || (exports.codigosResposta = codigosResposta = {}));
|
|
const gerarRespostas = (
|
|
/** Faz um processamento quando erro interno
|
|
* Recebe o erro gerado, mensagem personalizada e detalhes
|
|
*/
|
|
registrarErroInterno) => {
|
|
const valor = (valor, detalhes) => {
|
|
return {
|
|
cod: codigosResposta.sucesso,
|
|
valor,
|
|
mensagem: undefined,
|
|
eErro: false,
|
|
eCerto: true,
|
|
detalhes,
|
|
};
|
|
};
|
|
const valorTrue = (detalhes) => {
|
|
return {
|
|
cod: codigosResposta.sucesso,
|
|
valor: true,
|
|
mensagem: undefined,
|
|
eErro: false,
|
|
eCerto: true,
|
|
detalhes,
|
|
};
|
|
};
|
|
const erro = (mensagem, detalhes) => {
|
|
return {
|
|
cod: codigosResposta.erroConhecido,
|
|
valor: undefined,
|
|
mensagem,
|
|
eErro: true,
|
|
eCerto: false,
|
|
detalhes,
|
|
};
|
|
};
|
|
const erroPermissao = (mensagem, detalhes) => {
|
|
return {
|
|
cod: codigosResposta.erroPermissao,
|
|
valor: undefined,
|
|
mensagem: mensagem || "Sem permissão para esse recurso.",
|
|
eErro: true,
|
|
eCerto: false,
|
|
detalhes,
|
|
};
|
|
};
|
|
const naoEncontrado = (mensagem, detalhes) => {
|
|
return {
|
|
cod: codigosResposta.erroNaoEncontrado,
|
|
valor: undefined,
|
|
mensagem: mensagem ||
|
|
"Registro não encontrado ou a execução dessa ação depende de um registro existente.",
|
|
eErro: true,
|
|
eCerto: false,
|
|
detalhes,
|
|
};
|
|
};
|
|
const erroInterno = (erro, mensagem, detalhes) => {
|
|
const resRegistro = registrarErroInterno(erro, mensagem, detalhes);
|
|
const mensagemFim = `${mensagem || "Erro interno"}`;
|
|
return {
|
|
cod: codigosResposta.erroDesconhecido,
|
|
valor: undefined,
|
|
mensagem: mensagemFim,
|
|
eErro: true,
|
|
eCerto: false,
|
|
...resRegistro,
|
|
};
|
|
};
|
|
const tempoEsgotado = (mensagem, detalhes) => {
|
|
return {
|
|
cod: codigosResposta.tempoEsgotado,
|
|
valor: undefined,
|
|
mensagem: mensagem || "Tempo de resposta esgotado ao tentar acessar o recurso.",
|
|
eErro: true,
|
|
eCerto: false,
|
|
detalhes,
|
|
};
|
|
};
|
|
const erroEspera = tempoEsgotado;
|
|
return {
|
|
/**
|
|
* Gera uma resposta de sucesso
|
|
*/
|
|
valor,
|
|
/**
|
|
* Gera uma resposta de sucesso com valor true
|
|
*/
|
|
valorTrue,
|
|
/**
|
|
* Gera uma resposta de erro conhecido
|
|
*/
|
|
erro,
|
|
/**
|
|
* Gera uma resposta de erro de permissão,será necessário fazer o login novamente
|
|
*/
|
|
erroPermissao,
|
|
/**
|
|
* Gera uma resposta de erro desconhecido, geralmente tem origem de um exception
|
|
*/
|
|
erroInterno,
|
|
/**
|
|
* Gera uma resposta de erro quando um registro não é encontrado ou sua execução depende de um registro existente
|
|
*/
|
|
naoEncontrado,
|
|
/**
|
|
* Gera uma resposta de erro quando o tempo de resposta é esgotado
|
|
*/
|
|
tempoEsgotado,
|
|
/**
|
|
* Gera uma resposta de erro quando o tempo de resposta é esgotado
|
|
*/
|
|
erroEspera,
|
|
};
|
|
};
|
|
exports.gerarRespostas = gerarRespostas;
|
|
/**
|
|
* Uso de respostas em comuns
|
|
*/
|
|
exports.respostaComuns = (0, exports.gerarRespostas)(() => ({}));
|