Skip to content
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

[Feature] Criação de proposal no Cola?Bora! ao preencher formulário de solicitação de convite no Portfoliorrr #161

Merged
merged 10 commits into from
Feb 12, 2024

Conversation

eliseuramos93
Copy link
Contributor

@eliseuramos93 eliseuramos93 commented Feb 8, 2024

Essa PR aborda e resolve #120

Objetivos Alcançados

Com essa PR, completamos a comunicação entre Portfoliorrr/Cola?Bora! no envio de solicitação de convite através da página de projetos do Portfoliorrr. Agora, ao preencher o formulário no Portfoliorrr e salvá-lo, além de criar uma instância de invitation_request em nosso banco de dados também é enviada uma solicitação de criação de proposal (equivalente ao invitation_request) na plataforma co-irmã.

Toda vez que uma instância de invitation_request é criada (seja através do formulário, via seeds, console, etc.) é enfileirado um job em RequestInvitationsJob. Com um servidor de jobs ativo, esses jobs executam e enviam a requisição à API do Cola?Bora!, para criação do proposal no banco de dados deles.

Foram implementadas todas as regras de negócio planejadas dessa ação no contexto atual, contemplando casos de sucesso completo, tratando exceções de indisponibilidade do servidor do Cola?Bora!, indisponibilidade do nosso servidor, e eventuais erros causados pelo usuário (409) e também eventuais erros de envio de dados por parte do Portfoliorrr (404).

Foram realizados testes com as duas aplicações em execução, e tivemos êxito na criação de uma instância de proposal no Cola?Bora! através do formulário existente no Portfoliorrr.
image
Apesar da informação de parâmetros não permitidos, o project_id foi recebido corretamente e a solicitação de convite foi criada com sucesso, conforme status 201 e print abaixo.
image_2024-02-12_120458055

Conforme alinhamento feito com a equipe do Cola?Bora!, já estamos enviando o parâmetro invitation_request_id para aplicação deles, mesmo que ela não esteja sendo absorvida no momento em que essa PR está sendo revisada/aprovada. Já consta no roadmap deles receber essa informação e, como enviar o parâmetro agora não teria nenhum impacto no funcionamento da entrega, optamos por realizar a entrega com esse parâmetro já sendo enviado.

Critérios de Aceite

Ver issue #120

Regras de negócio implementadas

Status de solicitações de convite (enum)

Ver issue #120

Débitos

  • Usuário não consegue criar nova solicitação de convite em caso de status aborted, error ou refused. Isso precisa ser alterado em PR futura.
  • Usuário não recebe feedback de qual foi o erro que aconteceu no status error, será discutido se isso será priorizado antes da entrega final da primeira versão da app

@eliseuramos93 eliseuramos93 added the documentation Improvements or additions to documentation label Feb 8, 2024
eliseuramos93 and others added 7 commits February 9, 2024 12:28
Cria regra para tentar por 5 vezes criar um proposal no ColaBora caso o servidor deles esteja fora do ar
Cria regra para repetir solicitação à API do Portfoliorrr sem limites de tentativas caso dê erro interno do servidor
Cria regra para mudar o status de invitation_request para error caso a API do ColaBora retorne um erro 4XX

Também foi necessário alterar 2 testes de sistema que não estavam passando por conta de um bug causado pela forma como eles foram escritos (alinhado com os responsáveis pelos testes).

Co-authored-by: Rodrigo Gyodai <[email protected]>
Modifica o texto informado ao cliente para instrui-lo de onde acompanhar a evolução de sua solicitação de convite

Co-authored-by: Rodrigo Gyodai <[email protected]>
@eliseuramos93 eliseuramos93 marked this pull request as ready for review February 12, 2024 15:07
@eliseuramos93 eliseuramos93 changed the title Feat/cria invitation request no colabora [Feature] Criação de proposal no Cola?Bora! ao preencher formulário de solicitação de convite no Portfoliorrr Feb 12, 2024
Copy link
Contributor

@gmkoeb gmkoeb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Muito boa essa PR. Era uma funcionalidade bastante complexa e vocês ainda fizeram o esquema de retry do job, genial. Só deixei um comentário, não sei se faz sentido 👌

config/routes.rb Show resolved Hide resolved
Copy link
Contributor

@paulohenrique-gh paulohenrique-gh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pra mim tudo certo, pessoal. 🚀

app/jobs/request_invitation_job.rb Show resolved Hide resolved
@eliseuramos93 eliseuramos93 merged commit d175d5d into main Feb 12, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Colaboração Projeto] Enviar um POST para endpoint do Cola?Bora solicitando um convite para projeto
4 participants