Feat/schema corroboracoes feedback - #723
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (7)
📝 WalkthroughWalkthroughO modelo de feedback passou a incluir eixos comportamentais e metadados de publicação. O portfólio público deixou de exibir avaliações numéricas e passou a mostrar somente comentários associados aos projetos. ChangesFeedback e portfólio
Estimated code review effort: 3 (Moderate) | ~20 minutes Suggested reviewers: ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|



Pull Request
📋 Descrição
Implementa a estrutura de dados do sistema de corroborações e remove das
superfícies públicas os elementos que a v2 do documento de produto revogou.
É a etapa 3 da ordem de execução do feedback — a parte de dados. As rotas e as
telas vêm em seguida.
🔗 Issue relacionada
Related to #507
✅ Alterações realizadas
Schema e migrations
FeedbackAttribute— tabela relacional com@@unique([feedbackId, attribute]),conforme decidido na spike.
A restrição é o motivo da escolha: só ela impede, no banco, que o mesmo eixo seja
contado duas vezes na mesma avaliação. Como o valor público da corroboração é a
contagem, dado duplicado corromperia exatamente o que a funcionalidade entrega.
Feedbackganhou os campos da camada B e de moderação:publicationAllowedpublishedByReceiverhiddenByAdmin/hiddenReason@@unique([projectId, fromUserId, toUserId])@@index([toUserId, hiddenByAdmin])ratingpassou aInt?eanonymousganhou defaulttrue— ambos legados,mantidos como sinal interno. Ver seção 14 do documento de produto.
Eixos definidos
Sete, todos redigidos como comportamento observável:
🗣️ Avisa antes de travar 📦 Entrega o que assume
⏱️ Entrega no prazo 🤝 Puxa a equipe junto
🧭 Pergunta antes de decidir 🔄 Recebe revisão sem travar o time
🛠️ Se ajusta quando o plano muda
O documento passou a registrar também as oito propostas descartadas e o
motivo de cada uma — criatividade, disciplina, domínio da stack, aprende rápido,
entre outras. O critério: adjetivo é opinião, comportamento é testemunho.
Despublicação do
ratingTornar
ratingopcional quebrou o build, e o compilador apontou exatamente osdois lugares que a seção 14 mandava despublicar:
exibir o texto como citação, sem escala e sem autoria.
listPortfolioSummary— revogada na v2 por ser rankingdisfarçado: "duas médias lado a lado são um ranking, independentemente de
como sejam rotuladas".
Não foi escopo escolhido: era impossível fazer a migration sem resolver, e as
duas superfícies contradiziam o desenho aprovado.
🧪 Como testar
npx prisma migrate deploy— aplica as duas migrations.FeedbackAttributeexiste e que o enum tem 7 valores.npm testenpx tsc --noEmit./portfolios: a listagem não deve mais trazer média de feedback.📷 Evidências
erros de tipo 110 110 (sem regressão)
testes 160 + 3s 160 + 3s
Feedback (banco) 0 registros — migration sem risco de conflito
segunda vai falhar. Ela recria o enum com
DROP TYPE, e valores antigos(
RECEBE_REVISAO_BEM,AUTONOMIA_NA_STACK) não existem na lista nova. Como atabela estava vazia, foi seguro no banco compartilhado — mas em base local com
dados, limpe
FeedbackAttributeantes.Duas migrations de propósito. A primeira cria a estrutura; a segunda
registra o ajuste dos eixos, que veio de discussão de produto posterior.
Poderiam ser consolidadas, mas separadas preservam a história da decisão.
A funcionalidade ainda não funciona ponta a ponta. O banco comporta o
modelo, mas
POST /api/feedbackcontinua exigindoratingobrigatório e nãograva atributo nenhum. Esse descompasso é resolvido no próximo PR, que traz as
rotas. Não quebra nada hoje porque a tabela está vazia e nenhuma tela chama a
rota.
O portfólio exibe menos que antes, temporariamente. As estrelas saíram e o
bloco de corroborações ainda não existe — etapa 5. Sem impacto prático:
não há feedback cadastrado.
✔️ Checklist
Summary by CodeRabbit
New Features
Updates
Bug Fixes