Parte do épico Central de perfil do profissional (frente: backend). Os mocks do Notion são base direcional, não fonte de verdade — o design final ainda vem.
Objetivo: Adicionar bio ao User e garantir os campos compartilhados com a captação.
Arquivos: Modify src/models/User.mjs · Test src/tests/userModel.test.mjs
Dependências: —
O que fazer:
- Adicionar
bio (String, opcional) ao userSchema.
- Garantir (caso a captação ainda não tenha entrado) os campos compartilhados:
telefone (String), active (Boolean, default true, no nível raiz — distinto do active que existe dentro do addressSchema) e publicationStatus (enum alinhado com a captação: em_analise/aprovado/reprovado, default null). Não duplicar se já existirem.
Coordenação: a captação (conectaBemBack) é a dona canônica de telefone/active/publicationStatus. Sequenciar a captação antes; se não der, esta task cria os campos sem divergir do enum.
Test scenarios: os campos persistem; ausentes seguem válidos; o active raiz é distinto do active do endereço.
Pronto quando: o User tem os campos necessários sem conflitar com a captação.
Parte do épico Central de perfil do profissional (frente: backend). Os mocks do Notion são base direcional, não fonte de verdade — o design final ainda vem.
Objetivo: Adicionar
bioaoUsere garantir os campos compartilhados com a captação.Arquivos: Modify
src/models/User.mjs· Testsrc/tests/userModel.test.mjsDependências: —
O que fazer:
bio(String, opcional) aouserSchema.telefone(String),active(Boolean, defaulttrue, no nível raiz — distinto doactiveque existe dentro doaddressSchema) epublicationStatus(enum alinhado com a captação:em_analise/aprovado/reprovado, defaultnull). Não duplicar se já existirem.Coordenação: a captação (
conectaBemBack) é a dona canônica detelefone/active/publicationStatus. Sequenciar a captação antes; se não der, esta task cria os campos sem divergir do enum.Test scenarios: os campos persistem; ausentes seguem válidos; o
activeraiz é distinto doactivedo endereço.Pronto quando: o
Usertem os campos necessários sem conflitar com a captação.