export 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 || (codigosResposta = {})); export const gerarRespostas = (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 = (parametros, mensagem) => { const resRegistro = registrarErroInterno(parametros); 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, }; }; /** * Uso de respostas em comuns */ export const respostaComuns = gerarRespostas(() => ({}));