Skip to content

Integração: migrar Endereços para API real #212

Description

@tarcisiopgs

Contexto

O hook useAddresses() busca de /mocks/adresses.json (com typo no nome). A página de endereços lê addresses.enderecos.lista — um shape que não corresponde ao retorno real da API (GET /address retorna { addresses: [{ _id, cep, endereco, bairro, estado, complemento, active }] }). Parte da migração descrita em #63.

Decisão de design

Substituir o fetch mock pelo Kubb hook getAddress() e criar adapter que traduz o shape da API pro shape esperado pelos componentes. O mapeamento principal: _idid, enderecorua, activeprincipal, adicionar cidade (a API atual não retorna — pode precisar de ajuste no backend).

O que fazer

  • Substituir useAddresses()getAddress() (Kubb)
  • Criar adapter toAddressProps(): _idid, enderecorua, activeprincipal
  • Verificar se a API retorna cidade — se não, abrir issue de backend
  • Conectar usePutActiveAddress pra marcar endereço como ativo
  • Remover mock: public/mocks/adresses.json
  • Atualizar a página de endereços pra ler o novo shape

Fora de escopo

  • CRUD completo de endereços (criar, editar, deletar)
  • Integração com ViaCEP na listagem (já existe no cadastro)

Comportamento esperado

  1. Página de endereços carrega lista da API real
  2. Endereço principal é destacado (campo active)
  3. Usuário pode marcar outro endereço como ativo

Critérios de aceite

  • Lista de endereços vem da API real
  • Adapter traduz shape corretamente
  • Marcar endereço como ativo funciona
  • Mock removido

Arquivos relevantes

  • src/features/addresses/hooks/useAddresses.ts
  • src/app/(public)/address/page.tsx
  • src/kubb/hooks/useGetAddress.ts
  • src/kubb/hooks/usePutActiveAddress.ts

Parte de #63.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions