This commit is contained in:
Luiz H. R. Silva 2024-06-18 08:48:00 -03:00
parent b1d8db215a
commit c10a2584e6
6 changed files with 175 additions and 48 deletions

View file

@ -20,6 +20,7 @@ export type tipoRespostaErro = {
| codigosResposta.erroConhecido
| codigosResposta.erroDesconhecido
| codigosResposta.erroPermissao
| codigosResposta.erroNaoEncontrado
valor: undefined
mensagem: string
eErro: true
@ -32,9 +33,6 @@ 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, detalhes?: string[]): tipoRespostaSucesso<T> => {
return {
cod: codigosResposta.sucesso,
@ -46,9 +44,6 @@ export const gerarRespostas = <T>(
}
}
/**
* Gera uma resposta de sucesso com valor true
*/
const valorTrue = (detalhes?: string[]): tipoRespostaSucesso<true> => {
return {
cod: codigosResposta.sucesso,
@ -60,9 +55,6 @@ export const gerarRespostas = <T>(
}
}
/**
* Gera uma resposta de erro conhecido
*/
const erro = (mensagem: string, detalhes?: string[]): tipoRespostaErro => {
return {
cod: codigosResposta.erroConhecido,
@ -74,9 +66,6 @@ export const gerarRespostas = <T>(
}
}
/**
* Gera uma resposta de erro de permissão,será necessário fazer o login novamente
*/
const erroPermissao = (
mensagem?: string | undefined | null,
detalhes?: string[],
@ -91,9 +80,22 @@ export const gerarRespostas = <T>(
}
}
/**
* Gera uma resposta de erro desconhecido, geralmente tem origem de um exception
*/
const naoEncontrado = (
mensagem?: string | undefined | null,
detalhes?: string[],
): tipoRespostaErro => {
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: T, mensagem?: string): tipoRespostaErro => {
const resRegistro = registrarErroInterno(parametros)
@ -110,11 +112,30 @@ export const gerarRespostas = <T>(
}
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,
}
}