Skip to content

Captação — 1. Model User: campos novos, papel admin e publicationStatus #79

Description

@tarcisiopgs

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

Objetivo: Estender o User com os campos do cadastro, o papel admin e o estado de publicação.

Arquivos: Modify src/models/User.mjs · Test src/tests/userModel.test.mjs
Dependências:

O que fazer:

  • Adicionar ao userSchema: telefone, comoConheceu, termsAcceptedAt, password (só admin), active (Boolean, default true), publicationStatus (enum em_analise|aprovado|reprovado, default null).
  • Estender o enum de userType para ["professional","patient","admin"].
  • Tornar hashedOTP opcional (hoje required: true) — o cadastro sem OTP cria conta sem ele.
  • Nota: já existe active no addressSchema (por endereço); este é novo, no nível raiz do userSchema.

Test scenarios: campos persistem; userType:["admin"] válido; publicationStatus default null; criar profissional sem hashedOTP aceito; doc antigo compatível.

Pronto quando: o schema aceita os campos novos, o papel admin e a criação sem hashedOTP sem quebrar registros existentes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions