refatoração fluxo de vagas e correção login automático
- Frontend:
- Implementa componente JobFormBuilder para perguntas dinâmicas
- Atualiza página /post-job com fluxo de 3 etapas e integração do builder
- Corrige payload de registro (auth.ts) enviando campo password corretamente
- Implementa auto-login após cadastro da empresa (redirecionamento e token)
- Remove páginas obsoletas de registro de candidato
- Backend:
- Atualiza CreateCompanyUseCase para retornar token JWT
- Ajusta JobService para persistência correta de campos JSON (Questions, Benefits)
- Atualiza DTOs de Job e Company para refletir novas estruturas
- Adiciona migração (033) para novas colunas de refatoração
- Ajustes nos repositórios para suporte aos novos modelos
Ref: #refactor-jobs #fix-auth
BACKEND:
- Implementa [CredentialsHandler](cci:2://file:///C:/Projetos/gohorsejobs/backend/internal/api/handlers/credentials_handler.go:9:0-11:1) e rotas /api/v1/system/credentials para gestão segura de chaves.
- Adiciona criptografia RSA no [CredentialsService](cci:2://file:///C:/Projetos/gohorsejobs/backend/internal/services/credentials_service.go:17:0-22:1) para proteger chaves de API (Stripe, Cloudflare, etc).
- Automatiza geração de pares de chaves RSA no .env via script.
FRONTEND:
- Refatora /dashboard/backoffice organizando em Abas: Dashboard, Planos, Stripe e Sistema.
- Implementa CRUD completo para gestão de Planos (criar, editar, remover).
- Adiciona visualização de status do Stripe e botão para limpar cache Cloudflare.
- Ajusta formatação de data nos logs para fuso horário America/Sao_Paulo.
- Atualiza pi.ts para suportar novos endpoints de planos e credenciais.
- Remove marcadores de conflito git em admin_service que causavam erro 500 em ListCompanies.
- Implementa SeederService no backend Go com streaming SSE para logs em tempo real.
- Expõe endpoints: GET /api/v1/seeder/seed/stream e POST /api/v1/seeder/reset.
- Atualiza config do frontend para apontar URL do seeder para a API backend.
- Corrige erros de sintaxe na UI do dashboard Backoffice e implementa busca de estatísticas.
- Garante lógica correta de UPSERT no seeder (RETURNING id) usando colunas 'identifier' e 'full_name' para evitar abortar transações.
- Corrige constraint de role em user_companies no seeder para usar 'admin'.
- Backend: Correção na persistência do email da empresa (CreateCompanyUseCase) e suporte a exclusão em cascata (Cascade Delete) para evitar erro 500.
- Backend: Adicionado suporte completo para Phone, Website, Address, Description e Slug na criação.
- Backend: Correção crítica no JobService para ocultar nome de candidatos na listagem de vagas.
- Frontend: Adição da coluna 'Email' na listagem de empresas e padronização dos ícones de ação.
- Frontend: Inclusão de novas chaves de tradução (i18n) e melhorias no modal de criação.
Frontend:
- Implementar máscara de entrada de telefone para números BR ((XX) XXXXX-XXXX).
- Atualizar formulário de cadastro para enviar dados completos do perfil do candidato (endereço, formação, habilidades, etc.).
- Corrigir problemas de idioma misto na página de Detalhes da Vaga e adicionar traduções faltantes.
Backend:
- Atualizar modelo de Usuário, Entidade e DTOs para incluir campos de perfil (Data de Nascimento, Endereço, Formação, etc.).
- Atualizar UserRepository para persistir e recuperar os dados estendidos do usuário no PostgreSQL.
- Atualizar RegisterCandidateUseCase para mapear campos de entrada para a entidade Usuário.
- Corrige violação de restrição de role no Registro de Candidato (usa 'candidate' em minúsculo)
- Corrige erro de chave duplicada para slug da empresa adicionando timestamp ao workspace do candidato
- Corrige crash no LocationPicker tratando respostas nulas no frontend e retornando arrays vazios no backend
- Corrige documentação do Swagger para o endpoint de Login e adiciona definição de segurança BearerAuth
- Implemented more specific error messages for the login page, distinguishing between invalid credentials and server errors.
- Updated i18n files with new translations for login error messages.
- Improved the avatar fallback to use the user's email initials if their name is not available.
- Removed frontend-source.tar.gz from tracking.
- Chore: Added debug logs to the seeder-api location loader.
- Add /dashboard/seeder page with Seed and Reset buttons
- Add Seeder item to sidebar (superadmin only)
- Use seeder API endpoints POST /seed and POST /reset
- Add confirmation dialogs for destructive actions