Skip to content

PAV-7: Vincular conta social a usuário local + merge de contas - #202

Merged
Benevanio merged 13 commits into
Cla-Code-Community:developfrom
jeremiassnts:feature/pav-7-gerenciar-conexoes
Jul 27, 2026
Merged

PAV-7: Vincular conta social a usuário local + merge de contas#202
Benevanio merged 13 commits into
Cla-Code-Community:developfrom
jeremiassnts:feature/pav-7-gerenciar-conexoes

Conversation

@jeremiassnts

Copy link
Copy Markdown

Descricao

Implementa o vínculo de contas sociais (Google, LinkedIn, GitHub) a um usuário local e a gestão dessas conexões. No backend, adiciona funções para vincular provider a usuário com checagem de conflito (evitando duplicidade quando o email já existe), listar conexões com status por provider, e desconectar provider validando que sempre reste ao menos um método de login — além do modo "vínculo" no callback OAuth para conectar um provider já estando logado, e dos endpoints GET/DELETE de conexões. No frontend, a gestão de conexões aparece como uma seção dentro do perfil (ProfileTab), seguindo o design system, com conectar/desconectar e feedback do fluxo OAuth via query params. Cobre tudo com testes unitários e de integração.

Linear link

https://linear.app/tatame/issue/PAV-7/vincular-conta-social-a-usuario-local-merge-de-contas

Como foi testado

Testes unitarios passando — Backend: 518/518 | Frontend: 294/294

Jeremias Santos and others added 12 commits July 27, 2026 12:46
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- disconnectProvider: wraps read+guard+delete em db.transaction com SELECT FOR UPDATE
- auth.controller: discrimina erro de link por code === "CONFLICT"
- connections.routes.test: adiciona teste 400 para provider nao suportado
- disconnectProvider.test: atualiza mock para API de transacao/locking

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Move a gestao de conexoes sociais para uma secao no ProfileTab,
seguindo o design system dos demais cards do perfil, e aposenta a
pagina/rota standalone /perfil/conexoes.

- ConnectionsForm: nova secao no perfil (getConnections/connect/
  disconnect, guarda de ultimo metodo de login, feedback via
  ?linked=/?error=)
- ProfileTab: renderiza ConnectionsForm como terceira secao
- AppRoutes: /perfil/conexoes vira redirect para /perfil;
  ConnectionsPage removida
- auth.controller: redirect do vinculo OAuth aponta para /perfil
  (+ teste atualizado)
- vite.config: navegacoes de pagina do OAuth caem no SPA em vez do
  proxy de API

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
O CI (vitest run --coverage) reprovava com branches globais em 78.26%
(< 80%) por falta de testes do ConnectionsForm. Adiciona testes cobrindo
feedback via query params, carga com sucesso/erro, conectar, desconectar
(sucesso e erros) e guarda de último método de login.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@Benevanio
Benevanio merged commit ac1d9f8 into Cla-Code-Community:develop Jul 27, 2026
1 check passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in JobAtlas – Kanban Jul 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants