Replace Appwrite-based empresa route with direct Go API calls.
- Remove Models.Document dependency (cause of infinite loading)
- Call /api/v1/companies with auth token from localStorage
- Map corporate_name, category, license_number to new API fields
- Rewrite EmpresaList with proper Go Company type and clean table
- Rewrite EmpresaModal with correct fields matching Go backend
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
When the platform company (CNPJ 00000000000000) already exists in the DB,
RegisterAccount was failing with a unique constraint error before creating
the admin user. Now the bootstrap checks for the existing company first
and binds the new admin user directly to it.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Alteracoes:
- Configura .env do backend-old com DATABASE_URL e porta 8214
- Atualiza server.go com correcoes de servidor
- Adiciona package-lock.json e atualiza package.json do backend Medusa
- Adiciona docker-compose.yml para servicos locais
- Corrige authUtils.ts e CadastroProdutoWizard.tsx no frontend
- Corrige algoritmo de validacao CNPJ (pesos completos 12/13 digitos)
- Auto-login apos cadastro de usuario redirecionando para /seller
- Registro: role padrao Seller quando campo vazio, mapeamento company_name/cnpj
- Adiciona role Seller ao middleware productManagers (fix 403 em criacao de produto)
- Inventario: usa campos corretos da API (nome, ean_code, sale_price_cents, stock_quantity)
- Marketplace: raio padrao nacional (5000km), empresas sem coordenadas sempre visiveis
- dto.go: adiciona CompanyName e CNPJ ao registerAuthRequest
- Corrige algoritmo de validacao CNPJ (pesos completos 12/13 digitos)
- Auto-login apos cadastro de usuario redirecionando para /seller
- Registro: role padrao Seller quando campo vazio, mapeamento company_name/cnpj
- Adiciona role Seller ao middleware productManagers (fix 403 em criacao de produto)
- Inventario: usa campos corretos da API (nome, ean_code, sale_price_cents, stock_quantity)
- Marketplace: raio padrao nacional (5000km), empresas sem coordenadas sempre visiveis
- dto.go: adiciona CompanyName e CNPJ ao registerAuthRequest
Implementa comando CLI que permite resetar a senha de usuários diretamente no banco de dados para casos de recuperação de acesso.
Funcionalidades:
- Conecta com PostgreSQL usando pgx
- Gera hash bcrypt da nova senha com pepper
- Atualiza senha do usuário por email
- Valida existência do usuário
Uso: go run cmd/reset_password/main.go
Email padrão: usuario@saveinmed.com
Senha padrão: senha123
- SellerDashboard: migrado para Shell (header topo), removida sidebar lateral,
cards KPI brancos com react-icons pretos (FaChartLine, FaBoxOpen, FaReceipt)
- Shell: adicionados todos os links de nav para owner/seller no header
(Estoque, Buscar Produtos, Pedidos, Carteira, Equipe, Config. Entrega)
- Wallet: ícone FaMoneyCheck no botão Solicitar Saque, card saldo com #0F4C81,
thead da tabela com #0F4C81, fix R$ NaN (formatCurrency null-safe)
- Team: botões e thead com #0F4C81, emojis removidos dos roleLabels
- ShippingSettings: wrapped com Shell (mantém header), emojis substituídos por
react-icons pretos (FaTruck, FaLocationDot, FaStore, FaCircleInfo, FaFloppyDisk),
botão Salvar com #0F4C81
- Orders: removido box cinza de fundo dos ícones nas abas e estado vazio
- LocationPicker: fallback seguro para OpenStreetMap quando VITE_MAP_TILE_LAYER
não está definido (corrige tela branca em /search)
- Inventory/Cart: cores dos botões e thead atualizadas para #0F4C81