Files
agenciapsilmno/database-novo
Leonardo 3a42b0696d saas-docs: doc da Assinatura eletronica de documentos (Fase 3 #7)
Doc 05 cobrindo o fluxo end-to-end de assinatura eletronica:
- Visao geral (terapeuta cria solicitacao -> link publico -> paciente
  abre sem login -> aceite LGPD -> assinatura registrada server-side)
- Lado terapeuta: DocumentSignatureDialog (signatarios, toggle link
  publico, validade 24h/3d/7d/30d, URL copyavel)
- Lado paciente publico: SharedDocumentPage com /shared/document/:token
  (preview + painel LGPD + checkbox aceite + assinar/recusar + SHA-256
  computado client-side)
- Audit trail: hash + timestamp server + IP/UA via inet_client_addr()
  e current_setting (anti-spoof)
- Portal logado: PortalDocumentos lista pendencias com KPIs + filtro
- Expiracao de link, multiplos signatarios, validade legal LGPD/CFP/
  MP2200-2 (limite ICP-Brasil)
- Notas dev: RPCs, service, composable, components, pendencia notificacao
  automatica via Modulo 6

12 FAQs cobrindo: como pedir assinatura, paciente sem login, audit
registrado, terapeuta assinar tambem, validade do link, recusar, portal
do paciente, envio manual hoje, validade legal, integridade do conteudo,
cancelar solicitacao, multiplos signatarios.

categoria='Documentos', pagina_path='/melissa/paciente', ordem=5.
SQL import em database-novo/tmp/import-doc-assinatura-eletronica.sql.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 19:26:32 -03:00
..

database-novo

Banco de dados do AgenciaPsi — organizado, documentado e com CLI para gerenciamento.

Quick Start

cd database-novo

# Instalação do zero (schema + fixes + seeds + backup)
node db.cjs setup

# Ver estado do banco
node db.cjs status

# Backup
node db.cjs backup

# Restaurar (perdi o banco!)
node db.cjs restore

Para o guia completo, veja docs/setup_guide.md.

Comandos do CLI

Comando O que faz
node db.cjs setup Instala do zero (schema + fixes + seeds)
node db.cjs backup Exporta backup com data para backups/
node db.cjs restore [data] Restaura de um backup
node db.cjs migrate Aplica migrations pendentes
node db.cjs seed [grupo] Roda seeds (all, users, system, test_data)
node db.cjs status Estado do banco, backups, migrations
node db.cjs diff Compara schema atual vs último backup
node db.cjs reset Reseta e reinstala tudo
node db.cjs verify Verifica integridade dos dados

Estrutura

database-novo/
│
├── db.cjs                              # CLI de gerenciamento do banco
├── db.config.json                      # Configuração (container, seeds, fixes)
│
├── schema/                             # Schema SQL separado por seção
│   ├── 00_full/schema.sql              # Schema completo (referência)
│   ├── 01_extensions/                  # Schemas + extensões PostgreSQL
│   ├── 02_types/                       # Enums (auth, public, infra)
│   ├── 03_functions/                   # 11 arquivos por domínio
│   ├── 04_tables/                      # 10 arquivos por domínio
│   ├── 05_views/                       # 24 views
│   ├── 06_indexes/                     # Índices
│   ├── 07_foreign_keys/               # PKs, FKs, constraints
│   ├── 08_triggers/                    # Triggers
│   ├── 09_policies/                    # 217 RLS policies
│   └── 10_grants/                      # Grants
│
├── seeds/                              # Seeds de dados
│   ├── seed_001_fixed.sql              # 6 usuários base + tenants
│   ├── seed_002.sql                    # Supervisor + Editor
│   ├── seed_003.sql                    # Therapist2, Therapist3, Secretary
│   ├── seed_010_plans.sql              # 7 planos + 4 preços
│   ├── seed_011_features.sql           # 26 features
│   ├── seed_012_plan_features.sql      # 85 vínculos plano↔feature
│   ├── seed_013_subscriptions.sql      # 9 subscriptions + compromissos
│   ├── seed_014_global_data.sql        # 11 email + 16 notif templates + 3 slides
│   ├── seed_020_test_data.sql          # Dados de teste (50 pacientes, eventos, etc.)
│   ├── seed_020_test_data_cleanup.sql  # Limpeza dos dados de teste
│   └── run_all_seeds.sh               # Script bash alternativo
│
├── migrations/                         # Migrations incrementais
│
├── fixes/                              # 7 correções aplicadas
│
├── backups/                            # Backups com data (auto-gerenciados)
│   └── 2026-03-23/                     # schema.sql + data.sql + full_dump.sql
│
└── docs/                               # Documentação
    ├── setup_guide.md                  # Guia completo de instalação e uso
    ├── schema_map.md                   # Mapa das 84 tabelas
    ├── business_rules.md               # Regras de negócio
    └── users_test.md                   # 11 usuários de teste (UUIDs + vínculos)

Planos

Key Target Preço Limites
patient_free patient R$0
therapist_free therapist R$0 40 agendamentos/mês, 50 lembretes/mês
therapist_pro therapist R$49/mês · R$490/ano Ilimitado
clinic_free clinic R$0 30 pacientes, 5 terapeutas, 40 agend/mês
clinic_pro clinic R$149/mês · R$1490/ano Ilimitado
supervisor_free supervisor R$0 Até 3 supervisionados
supervisor_pro supervisor R$0 Até 20 supervisionados

Usuários de Teste

Senha de todos: Teste@123

Email Plano Tipo
paciente@agenciapsi.com.br patient_free Paciente
terapeuta@agenciapsi.com.br therapist_free Terapeuta solo + Clínica 3
clinica1@agenciapsi.com.br clinic_free Clínica coworking
clinica2@agenciapsi.com.br clinic_free Clínica recepção
clinica3@agenciapsi.com.br clinic_free Clínica full
saas@agenciapsi.com.br Admin plataforma
supervisor@agenciapsi.com.br supervisor_free Supervisor
editor@agenciapsi.com.br therapist_free Editor
therapist2@agenciapsi.com.br therapist_free Terapeuta
therapist3@agenciapsi.com.br therapist_free Terapeuta
secretary@agenciapsi.com.br Secretária (Clínica 2)

Idempotência

Todos os seeds são idempotentes (ON CONFLICT DO UPDATE ou DELETE + INSERT). Podem ser re-executados quantas vezes necessário.