You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
searchController — todas 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: aprovadoeactive: 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.
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· Createsrc/scripts/backfillPublicationStatus.mjs· Testsrc/tests/professionalVisibility.test.mjsDependências: #79 (Model User) · relacionado: #80 (cadastro define
em_analise)O que fazer:
em_analise— não há mais conclusão viacompleteSignUpProfessionalna captação.searchController— todas as consultas, incluindogetProfessionalById(GET /search/professional/:id), exigempublicationStatus: aprovado+active: true. ExcluirCNPJCPFProfissionalda projeção (LGPD).userType, todos são públicos): setarpublicationStatus: aprovadoeactive: trueem todos os profissionais existentes, guard{ userType: "professional", publicationStatus: null }.Test scenarios: busca/
getByIdnã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.