Pular para o conteúdo principal

Feature: Course Registration

Introdução ao documento

Este documento descreve a feature de inscrição/login exposta em /{slug}/inscricao, cobrindo CPF, caminho AMEI e regras de elegibilidade aplicadas na autenticação.

Evidências:

Versionamento

Atualizar este documento quando mudarem:

  • a ativação de AMEI/fallback;
  • as validações de CPF;
  • as regras de bloqueio em NextAuth;
  • a navegação para a próxima etapa.

Evidências:

Referencial teórico

O mapeamento desta feature foi derivado da rota de inscrição, do formulário client-side, dos toggles de AMEI/fallback e do provider de credenciais do NextAuth.

Evidências:

Visão geral

Atores

Pré-condições

Fluxo principal

  1. A página calcula useAmeiAuth a partir do toggle e do query param fallback (inscricao/page.tsx#L15-L16).
  2. O componente limpa sessão anterior com signOut({ redirect: false }) (CourseRegistration.component.tsx#L87-L89).
  3. No fluxo CPF, o participante informa o documento e dispara signIn("cpf", { cpf, course_slug }) (CourseRegistration.component.tsx#L110-L114).
  4. No fluxo AMEI, o usuário é autenticado externamente e depois o CPF limpo é reutilizado no mesmo signIn("cpf") (CourseRegistration.component.tsx#L45-L69).
  5. Em caso de sucesso, a navegação avança para /{slug}/inscricao/confirmacao (CourseRegistration.component.tsx#L61-L65, CourseRegistration.component.tsx#L95-L102).

Fluxos alternativos

Regras de negócio

Estados possíveis

Endpoints envolvidos

Dados impactados

Pendências

  • O catch-all de NextAuth continua sem contrato OpenAPI local.
  • O comportamento quando useAmeiAuth = true mas o usuário AMEI ainda não tem cpf explícito não gera mensagem de erro própria na UI.

Evidências: