-
Notifications
You must be signed in to change notification settings - Fork 368
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proposta de padronização de erros #129
Conversation
@liverday is attempting to deploy a commit to the TabNews Team on Vercel. To accomplish this, @liverday needs to request access to the Team. Afterwards, an owner of the Team is required to accept their membership request. If you're already a member of the respective Vercel Team, make sure that your Personal Vercel Account is connected to your GitHub account. |
Bacana a proposta!! Só uma observação, acredito que essa página inicial de colaboradores não será mais editada, @filipedeschamps certo?? |
@brunofamiliar correto meu caro! E muito obrigado pela contribuição @liverday eu ia trabalhar nisso hoje e você adiantou muito* tudo, estamos quase lá 😍 vou fazer o Review colocando alguns comentários 👍 e se me permitir, dou continuidade ao PR assim como fiz com o último do @rodrigoKulb com outros ajustes 👍 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Muito obrigado por todas as contribuições meu caro, matou a pau!!! Vou dar continuidade nas suas implementações em outros PRs com o objetivo de remover algumas abstrações e tentar aumentar a cobertura nos testes 👍
@filipedeschamps Resolvi todos os apontamentos feito no review! Fique a vontade de continuar com as implementações e fico feliz de ter ajudado! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sensacional!! Obrigado pelos ajustes e pela contribuição 👍 Vou fazer merge desse PR, mas antes de fechar a issue de fato, vou fazer outros ajustes 🤝 👍
@paulogdm tava cavucando a internet por uma solução [1][2][3], mas não estou conseguindo encontrar, veja o que está acontecendo na lista de checks: o deploy preview da Vercel parece que está bloqueando os outros checks. Você sabe dizer se existe alguma opção em que tente fazer o deploy, mas que não apareça como um check? Ou ao menos que não iniba os outros checks? Vi que um outro recurso que também solucionaria isso, mas está no roadmap: vercel/vercel#5776 Seja com qual recurso for, seria legal alguém que não tenha permissão para deploy, mas tenha write no repositório conseguir rodar os checks 👍 (e as vezes vai, quando randomicamente muda a ordem dos checks) |
@filipedeschamps Peço perdão, criei um novo commit aqui agora para realizar os lints do Prettier, que acabou retirando seu approve. |
@liverday sem problemas! To numa branch local aqui onde fiz o squash dos seus commits para traduzir tudo em uma única mensagem em inglês (os seus commits estavam em português) e já aproveitei para fazer o rebase (e agora) consertar o lint 👍 Em cima desse commit eu vou fazer algumas alterações que vão acabar impactando diretamente o PR #130 mas sem problemas também, pois vamos ajustando ao longo da jornada 🤝 |
@filipedeschamps Será que não daria para fazer nesse nesse modelo? Usaria o modelo do Ignored Build Step para rodar um script personalizado que estaria no root do projeto, no qual ele só tentaria fazer o deploy se fosse seu usuário. Ai ativaria a opção para expor as variáveis de ambiente automaticamente, como mostra nesse link. Talvez fazendo dessa forma, o cancelamento do deploy da Vercel não barre os outros checks. Como somente seu usuário tem permissão de fazer deploy lá, isso resolveria o problema. #!/bin/bash
echo "VERCEL_GIT_COMMIT_AUTHOR_LOGIN: $VERCEL_GIT_COMMIT_AUTHOR_LOGIN"
if [[ "$VERCEL_GIT_COMMIT_AUTHOR_LOGIN" == "filipedeschamps" ]] ; then
echo "✅ - Build and deploy can proceed"
exit 1;
else
echo "🛑 - Build and deploy cancelled because author is not filipedeschamps."
exit 0;
fi |
Esse pull request carrega o início de uma proposta para a padronização dos erros do tn.
Alguns pontos para se considerar nesse PR:
next-connect
para incluir umtrace-id
para cada uma das requests.uuid
, chamei deUuidMaker
mas não é um bom nome, rs. Estou aberto a sugestões.errors
dentro da pastainfra
do projeto feita para guardar todos os erros tratados que teremos na aplicação. A minha dúvida é se isso pertenceria a pasta de infra, ou entraria em uma pasta dedomain
, por fazer parte das nossas regras de negócio.onErrorHandler
, eu coloquei uma verificação onde só muda o status code da requisição quando for um erro tratado por nós.does-not-exist-error.js
para dar um exemplo de como seria criar um erro que retorne 404 para oclient
.Fico aberto a sugestões de melhoria ou discussões a respeito da implementação.