Skip to content

Captação — 3. Filtro de visibilidade da busca + backfill #81

Description

@tarcisiopgs

Parte do épico Captação de profissionais — landing page e aprovação interna (frente: backend).

Objetivo: A busca só expõe profissionais aprovados; backfill dos legados. (O estado em_analise é definido no cadastro — ver #80.)

Arquivos: Modify src/controller/searchController/index.mjs · Create src/scripts/backfillPublicationStatus.mjs · Test src/tests/professionalVisibility.test.mjs
Dependências: #79 (Model User) · relacionado: #80 (cadastro define em_analise)

O que fazer:

  • Como o wizard foi engavetado, o cadastro (Captação — 2. Cadastro inicial de profissional sem OTP #80) já cria o profissional em em_analise — não há mais conclusão via completeSignUpProfessional na captação.
  • searchControllertodas as consultas, incluindo getProfessionalById (GET /search/professional/:id), exigem publicationStatus: aprovado + active: true. Excluir CNPJCPFProfissional da projeção (LGPD).
  • Backfill (verificado: hoje a busca filtra só por userType, todos são públicos): setar publicationStatus: aprovado e active: true em todos os profissionais existentes, guard { userType: "professional", publicationStatus: null }.

Test scenarios: busca/getById não retornam não-aprovados; aprovado+active visível; resposta sem CPF; backfill idempotente preserva legados.

Pronto quando: nenhum caminho expõe não-aprovados, CPF não vaza e os legados foram preservados.

Metadata

Metadata

Assignees

No one assigned

    Labels

    captaçãoFrente: Captação de profissionais (LP + cadastro + moderação)enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions