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

Add/post from form to event #43

Merged
merged 4 commits into from
Aug 21, 2024

Conversation

alekgomes
Copy link
Contributor

@alekgomes alekgomes commented Aug 7, 2024

Descrição

Esse pull request altera o formulário servido em http://localhost:3000/ para que ele envie um POST para /event. Também adiciona validações nos campos desse formulário usando a biblioteca react-hook-form em conjunto com validações de esquemas do Zod.

Mudanças Realizadas

  1. A principal alteração é adição de evento onSubmit no formulário.
  2. Adição de validação de campos na model

Arquivos Modificados

  • app/(mentoring)/mentoring.model.ts:

    • Adicionado referência para interface do serviço
    • Adição de validação dos inputs utilizados na view
    • Adição de chamada para serviço SignUpMentoring
  • app/(mentoring)/mentoring.view.tsx:

    • Agora chama o serviço SignUpMentoring a partir do onSubmit
    • Adição de mensagens de erros para cada campo do formulário
  • app/(mentoring)/page.tsx:

    • Alterar para funcionar como container, gerenciando relações entre view, model e services.
  • src/components/form/error-message.tsx:

    • Alterado para ser mais flexível - no momento recebe estado de erro das validações feitas pelo react-hook-form e validações do zod (feitas em /register)
  • src/services/MentoringAgenda/IMentoringAgendaService.model.ts:

    • Prepara método para receber informações do formulário na forma de FormData.
  • src/services/MentoringAgenda/MentoringAgenda.service.ts:

    • Configura método para chamar rota /event
  • backend/pkg/http/http.go:

    • Habilita política de CORS

Motivação e Contexto

Na tarefa Criar interface para cadastro de usuários #35 foi feita apenas a implementação dos elementos visuais da tela, sem consideração o comportamento de submissão do formulário.
Esse PR adicionada uma chamada POST à rota /event enviando os dados do usuário, assim como é feito no formulário servido na http://localhost:8080.

Fluxo de cadastro - Mensagens ao usuário

No cadastro anterior o usuário recebia um email e era redirecionado para o link do meeting.
Nesse PR o comportamento está sendo alterado. Agora uma mensagem de erro ou de sucesso é exibida para o usuário e o email continua sendo enviado normalmente.

Mensagem de erro:
mensagem de erro

Mensagem de sucesso:
mensagem de sucesso

Como Isso Foi Testado?

  • Testado manualmente

Issue Relacionada

Tipos de Mudanças

  • Correção de bug (mudança que não quebra a compatibilidade e corrige um problema)
  • Nova funcionalidade (mudança que não quebra a compatibilidade e adiciona uma funcionalidade)
  • Mudança que quebra a compatibilidade (correção ou funcionalidade que causa uma mudança em funcionalidades existentes)

Checklist

  • Meu código segue o estilo de código deste projeto.
  • Minha mudança requer uma mudança na documentação.
  • Eu atualizei a documentação conforme necessário.
  • Eu adicionei testes para cobrir minhas mudanças.
  • Todos os novos e antigos testes passaram.

Notas Adicionais

1 . Se o padrão de validação de inputs utilizado nesse PR for bem aceito, vale a pena aplicar a mesma estrutura em /register para fins de padronização.

  1. Esse PR só pode ser concluído uma vez que o problema do CORS for resolvido e seja possível testar o fluxo fim-a-fim.

  2. O diagrama a seguir representa o fluxo de dependências entre as camadas. Foi elaborado para guiar o desenvolvimento e servir de documentação do implementado

    3.a. Os erros estão sendo tratado dentro da Model, caso seja recomendado um lugar mais adequado para esse tratamento, podemos discutir.

mvvm-compliance

@alekgomes alekgomes force-pushed the add/post-from-form-to-event branch from 9a53b59 to b136079 Compare August 7, 2024 16:34
@alekgomes alekgomes force-pushed the add/post-from-form-to-event branch from b136079 to 91d8363 Compare August 20, 2024 00:23
@alekgomes alekgomes marked this pull request as ready for review August 21, 2024 00:26
@mffonseca mffonseca merged commit 62437c3 into dedevpradev:main Aug 21, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants