Commit graph

71 commits

Author SHA1 Message Date
NANDO9322
28b76a0f54 feat(fot-management): implementação de ações editar/excluir e correção no mapeamento da agenda
- Implementadas ações de Editar e Excluir na página de Gestão de FOT
- Adicionado filtro de busca para FOTs
- Corrigido desalinhamento de colunas na tabela de Gestão de FOT
- Atualizado FotForm para suportar a edição de registros existentes
- Corrigido erro de renderização do React no Dashboard mapeando corretamente os objetos de atribuição
- Removidos dados de mock (INITIAL_EVENTS) e corrigido erro de referência nula no DataContext
- Adicionados métodos de atualização/exclusão ao apiService
2025-12-16 18:10:46 -03:00
Andre F. Rodrigues
52e167475c
Merge pull request #26 from rede5/Front-back-integracao-task7
Correção da Listagem de Agenda, Filtro de Usuário e Mapeamento de Dados

Resolve problemas críticos no módulo de Agenda, garantindo que os eventos sejam exibidos corretamente para o usuário logado e que as informações na interface (como o número da turma e nome do evento) correspondam aos dados reais do banco, eliminando a exibição de IDs internos e campos vazios.

Alterações Realizadas
🔙 Backend
Banco de Dados: Adicionada coluna user_id na tabela agenda para vincular o evento ao seu criador.
Queries:
CreateAgenda
 atualizado para salvar o user_id.
Nova query ListAgendasByUser criada para filtrar os eventos pelo ID do usuário.
Lógica: Atualização nos Services e Handlers para identificar o usuário via token JWT e aplicar o filtro corretamente.
🖥️ Frontend
Correção de Reatividade (
DataContext
):
Integração do 
useAuth
 para garantir que a lista de eventos (função 
fetchEvents
) seja recarregada automaticamente assim que o login é realizado.
Mapeamento de Dados:
FOT: Ajustado para exibir o fot_numero (ex: 25189) em vez do UUID.
Nome do Evento: Criado fallback para usar o "Tipo de Evento" (ex: "Churrasco") como título caso o nome não seja informado.
Formandos: Corrigido o mapeamento de qtd_formandos para attendees.
Interface (
EventTable
 & 
Dashboard
):
Tabelas e telas de detalhes atualizadas para usar os campos mapeados corretamente.
Correção de erro de TypeScript no enum 
EventStatus
 (troca de COMPLETED para DELIVERED).
Como Testar
Filtro: Logar com um usuário cliente e confirmar que ele vê apenas os seus eventos.
Listagem: Verificar se a coluna "FOT" mostra um número simples e se colunas como "Curso" e "Instituição" estão preenchidas.
Detalhes: Abrir um evento e confirmar se "Qtd Formandos" aparece (ex: 35) e se o título do evento está correto mesmo sem observações preenchidas
2025-12-16 13:46:30 -03:00
NANDO9322
66c7306553 feat: implementa filtro de agenda por usuário e corrige exibição de detalhes
- Backend: Adiciona `user_id` na tabela agenda e implementa queries de filtro por role.
- Frontend(Context): Corrige dependência do `useEffect` para garantir busca correta ao logar.
- Frontend(Context): Melhora mapeamento de dados (Número FOT, Fallback de Nome, Formandos).
- Frontend(UI): Atualiza EventTable e Dashboard para exibir número FOT e dados vinculados corretamente.
- Frontend(Fix): Resolve erros de TypeScript no enum EventStatus.
2025-12-16 13:44:02 -03:00
Andre F. Rodrigues
49ddaf5096
Merge pull request #25 from rede5/back-task-6
feat(backend): implementa módulo Agenda com lógica automática de status

- Cria tabela 'agenda' com FKs normalizadas e colunas específicas de evento
- Gera operações CRUD via SQLC para Agenda
- Implementa Service e Handler da Agenda
- Adiciona cálculo automático de 'status_profissionais' (OK/FALTA/ERRO) baseado na contagem de faltantes
- Registra rotas da Agenda em /api/agenda
- Atualiza documentação Swagger
- Corrige caminhos de importação e tipagem UUID no novo serviço
2025-12-15 18:51:48 -03:00
NANDO9322
a1a4d0a5d1 feat(backend): implementa módulo Agenda com lógica automática de status
- Cria tabela 'agenda' com FKs normalizadas e colunas específicas de evento
- Gera operações CRUD via SQLC para Agenda
- Implementa Service e Handler da Agenda
- Adiciona cálculo automático de 'status_profissionais' (OK/FALTA/ERRO) baseado na contagem de faltantes
- Registra rotas da Agenda em /api/agenda
- Atualiza documentação Swagger
- Corrige caminhos de importação e tipagem UUID no novo serviço
2025-12-15 18:49:59 -03:00
Andre F. Rodrigues
51ec01113e
Merge pull request #24 from rede5/Front-back-integracao-task6
implementa o fluxo completo de gerenciamento de FOT (Formandos, Organização, Turma) no sistema, substituindo a antiga visualização de cursos por uma listagem detalhada de cadastros FOT e adicionando a funcionalidade de criação de novas turmas.

Alterações Principais:

Frontend 
(CourseManagement.tsx)
:
A página de gestão foi reformulada para consumir e exibir dados da rota /api/cadastro-fot.
Implementação do botão "+ Cadastro FOT" que aciona um modal de cadastro.
Adição de tratamento de erros e estados de carregamento na listagem.
Novo Componente 
(FotForm.tsx)
:
Formulário completo para criação de FOT com os campos: FOT, Empresa, Curso, Ano Formatura, Instituição, Cidade, Estado, Gastos de Captação, Pré-venda e Observações.
Validação em tempo real: O sistema verifica se o número FOT digitado já existe na lista carregada e impede a duplicidade.
Integração dos dropdowns de Curso e Ano de Formatura com seus respectivos endpoints dinâmicos (/api/cursos e /api/anos-formaturas).
Serviços 
(apiService.ts)
:
Adição dos métodos 
getCadastroFot
 e 
createCadastroFot
.
Ajuste nos métodos de busca de dependências (
getAvailableCourses
, 
getGraduationYears
) para mapear corretamente os campos (nome, ano_semestre) retornados pela API.
Backend 
(handler.go)
:
Correção de um bug que causava a duplicação de perfis de profissionais (fotógrafos) durante o registro, garantindo a integridade dos dados de usuário.
2025-12-15 16:14:16 -03:00
NANDO9322
d84d6ff022 feat(fot): implementa cadastro e listagem de FOT
- Refatora CourseManagement para listar dados de /api/cadastro-fot
- Cria componente FotForm para novo cadastro de turmas
- Adiciona validação de unicidade para número FOT
- Integra dropdowns com endpoints /api/cursos e /api/anos-formaturas
- Corrige duplicidade no registro de profissionais no backend
2025-12-15 16:12:02 -03:00
Andre F. Rodrigues
85e07c2f26
Merge pull request #23 from rede5/Front-back-integracao-task5
implementa correções importantes no fluxo de autenticação para garantir que usuários pendentes de aprovação não tenham acesso ao sistema, além de melhorias na interface administrativa.

Principais Alterações:

Autenticação e Segurança:
Login de Inativos: Adicionada verificação do campo ativo no login e na restauração de sessão (
AuthContext
). Usuários pendentes são impedidos de logar ou deslogados automaticamente.
Auto-login no Registro: O sistema agora impede o login automático após o cadastro se o usuário necessitar de aprovação.
Logout: Atualizado para chamar a rota /auth/logout na API, garantindo a invalidação dos cookies de sessão (HttpOnly).
Interface de Aprovação (Admin):
Dados Adicionais: Adicionada a coluna Telefone nas listagens de Empresas e Profissionais para facilitar a verificação.
Correção de Interface: Refatoração do componente 
UserApproval.tsx
 para corrigir um glitch visual que ocorria ao alternar entre as abas, onde as colunas ficavam desalinhadas ou duplicadas.
Como testar:

Tente fazer login com um usuário que ainda não foi aprovado (deve receber erro ou ser impedido).
Acesse a tela de "Aprovação de Cadastros" e verifique se o telefone aparece na lista.
Alterne entre as abas "Empresas" e "Profissionais" para garantir que a tabela renderiza corretamente.
2025-12-15 15:08:44 -03:00
NANDO9322
bae43a14cb fix: validação de usuários inativos e melhorias na lista de aprovação
- Bloqueia login e auto-login para usuários com status inativo
- Implementa logout chamando endpoint do backend para limpar cookies
- Adiciona verificação de status ativo na restauração de sessão
- Inclui coluna 'Telefone' na tabela de aprovação de cadastros
- Corrige bug de renderização nas tabelas ao trocar de abas
2025-12-15 15:06:34 -03:00
Andre F. Rodrigues
3011a0634f
Merge pull request 22 from rede5/Front-back-integracao-task4 - Feature/Admin Users & Melhorias no Cadastro
implementa endpoints administrativos no backend para gerenciamento de usuários, padroniza os níveis de acesso (roles) em toda a aplicação para resolver inconsistências e melhora significativamente a experiência do usuário (UX) nos formulários de cadastro com textos de ajuda e preenchimento automático de endereço.

Principais Mudanças

Backend

Endpoints Admin: Implementação de queries, serviço e handlers para as rotas GET /api/admin/users e GET /api/admin/users/:id.
Padronização de Roles: Refatoração do serviço de auth para usar constantes padronizadas (SUPERADMIN, BUSINESS_OWNER, PHOTOGRAPHER, EVENT_OWNER) ao invés de strings hardcoded, garantindo alinhamento com os tipos do Frontend.
Usuários Demo: Atualização do 
EnsureDemoUsers
 para migrar automaticamente os usuários de demonstração existentes para o novo formato de role ao iniciar a aplicação.
Docs: Swagger atualizado.
Frontend

Cadastro de Cliente (/cadastro):
Adicionado texto de ajuda acima do campo de seleção de Empresa orientando usuários que não encontram sua instituição.
Implementada ordenação personalizada para forçar "Não Cadastrado" a aparecer sempre no topo da lista.
Cadastro de Profissional (/cadastro-profissional):
Adicionado campo de CEP com integração à API AwesomeAPI.
Implementada lógica para preencher automaticamente Rua, Bairro, Cidade e UF ao sair do campo de CEP (blur).
Atualizado o payload para incluir o CEP na string de endereço enviada ao backend.
Como Testar

Roles do Backend: Inicie o backend e faça login com usuários demo (ex: admin@photum.com); verifique se as roles agora são SUPERADMIN, etc.
API Admin: Use o Swagger para chamar GET /api/admin/users (requer token de Admin).
Cadastro: Acesse /cadastro e verifique a ordenação da lista de empresas.
Formulário Profissional: Acesse /cadastro-profissional, digite um CEP válido (ex: 01001-000) e verifique se os campos de endereço são preenchidos automaticamente.
2025-12-15 11:21:15 -03:00
NANDO9322
78c284c28a feat: Implementado a API de backend inicial e a interface de usuário de frontend para autenticação, gerenciamento de usuários e cadastro profissional.
implementação de listagem de usuários admin, padronização de roles e melhorias nos cadastros
Backend:
- Adicionados endpoints administrativos [ListUsers](cci:1://file:///c:/Projetos/photum/backend/internal/auth/service.go:268:0-270:1) e [GetUser](cci:1://file:///c:/Projetos/photum/backend/internal/auth/handler.go:475:0-514:1).
- Padronizadas as constantes de [UserRole](cci:1://file:///c:/Projetos/photum/backend/internal/auth/service.go:202:0-216:1) (`SUPERADMIN`, `BUSINESS_OWNER`, etc.) para alinhar com o frontend.
- Atualizada a função [EnsureDemoUsers](cci:1://file:///c:/Projetos/photum/backend/internal/auth/service.go:230:0-266:1) para migrar usuários existentes para as novas roles.
- Documentação Swagger regenerada.
Frontend:
- Adicionado busca automática de CEP no formulário de Cadastro Profissional (AwesomeAPI).
- Adicionado texto de ajuda e ordenação (priorizando "Não Cadastrado") no select de Empresas.
2025-12-15 11:17:34 -03:00
João Vitor
134ff1c3d7
Merge pull request #21 from rede5/feature/ui-improvements-photographer-finance
feat: add photographer finance page and UI improvements
2025-12-12 16:28:02 -03:00
João Vitor
7fc96d77d2 feat: add photographer finance page and UI improvements
- Add photographer finance page at /meus-pagamentos with payment history table
- Remove university management page and related routes
- Update Finance and UserApproval pages with consistent spacing and typography
- Fix Dashboard background color to match other pages (bg-gray-50)
- Standardize navbar logo sizing across all pages
- Change institution field in course form from dropdown to text input
- Add year and semester fields for university graduation dates
- Improve header spacing on all pages to pt-20 sm:pt-24 md:pt-28 lg:pt-32
- Apply font-serif styling consistently across page headers
2025-12-12 16:26:12 -03:00
Andre F. Rodrigues
b6deacc291
Merge pull request #19 from rede5/Front-back-integracao-task3
feat(auth): implementação do fluxo de cadastro duplo (clientes e profissionais)

- backend: atualizado /auth/register para retornar userId e access_token
- backend: desabilitada criação automática de perfil parcial no registro
- backend: adicionado suporte a cookie access_token no middleware e handlers
- frontend: atualizado AuthContext para enviar role e retornar token
- frontend: implementado registro de profissional em 2 etapas (Usuário -> Perfil)
- frontend: adicionado serviço createProfessional com suporte a header de auth
- frontend: definido role correto (EVENT_OWNER) para cadastro de clientes
2025-12-12 13:02:38 -03:00
NANDO9322
a337e27f2a feat(auth): implementação do fluxo de cadastro duplo (clientes e profissionais)
- backend: atualizado /auth/register para retornar userId e access_token
- backend: desabilitada criação automática de perfil parcial no registro
- backend: adicionado suporte a cookie access_token no middleware e handlers
- frontend: atualizado AuthContext para enviar role e retornar token
- frontend: implementado registro de profissional em 2 etapas (Usuário -> Perfil)
- frontend: adicionado serviço createProfessional com suporte a header de auth
- frontend: definido role correto (EVENT_OWNER) para cadastro de clientes
2025-12-12 13:01:30 -03:00
Andre F. Rodrigues
1b65d26bcd
Merge pull request #18 from rede5/Front-back-integracao-task2
feat: atualização de papéis no registro e correção de integração de tipos de evento

Backend:
- Atualiza endpoint /auth/register para aceitar e exigir 'role' no corpo da requisição.
- Atualiza handler de registro para criar perfil profissional condicionalmente baseado na role.
- Regenera documentação Swagger para refletir novos parâmetros de registro.

Frontend:
- Atualiza apiService para usar o endpoint correto /api/tipos-eventos.
- Corrige EventForm para renderizar objetos de tipo de evento corretamente (usando estrutura id/nome).
- Corrige erro de sintaxe JSX no componente EventFiltersBar.
2025-12-12 11:12:09 -03:00
NANDO9322
4aedbcbc91 feat: atualização de papéis no registro e correção de integração de tipos de evento
Backend:
- Atualiza endpoint /auth/register para aceitar e exigir 'role' no corpo da requisição.
- Atualiza handler de registro para criar perfil profissional condicionalmente baseado na role.
- Regenera documentação Swagger para refletir novos parâmetros de registro.
Frontend:
- Atualiza apiService para usar o endpoint correto /api/tipos-eventos.
- Corrige EventForm para renderizar objetos de tipo de evento corretamente (usando estrutura id/nome).
- Corrige erro de sintaxe JSX no componente EventFiltersBar.
2025-12-12 11:08:52 -03:00
João Vitor
a5f8c247a2
Merge pull request #17 from rede5/feature/fot-management-system
feat: Sistema completo de Gestão FOT e melhorias no dashboard
2025-12-11 16:06:40 -03:00
João Vitor
3178207353 feat: Sistema completo de Gestão FOT e melhorias no dashboard
- Sistema FOT (Formatura Operations Tracking):
  * Tela de Gestão FOT (/cursos) com tabela Excel-style
  * Modal CourseForm com 10 campos (FOT, Empresa, Instituição, etc)
  * Validação de FOT (5 dígitos numéricos)
  * Edição de turmas ao clicar na linha
  * Integração com API backend (empresas, níveis educacionais, universidades)

- Dashboard renovado (/painel):
  * Tabela com 8 colunas (FOT, Data, Curso, Instituição, Ano, Empresa, Tipo, Status)
  * Filtros avançados: FOT (busca numérica), Data, Tipo de Evento
  * Removidos filtros de Estado e Cidade
  * Página de detalhes com tabela vertical (12 informações)
  * Botão Aprovar redireciona para modal de equipe

- Sistema de Aprovação Dupla (/aprovacao):
  * 2 tabelas separadas por abas (Usuários Normais e Profissionais)
  * Coluna Universidade renomeada para Empresa
  * Coluna Função nos profissionais
  * Workflow de aprovação com atribuição de equipe

- Cadastro Profissional (/cadastro-profissional):
  * Formulário específico para fotógrafos
  * Dropdown de Função Profissional da API
  * Tratamento de erro quando backend offline

- Modal de Criar Evento:
  * Tipo de Evento como primeiro campo
  * Nome do Evento (Opcional) como segundo campo

- Componentes novos:
  * EventTable.tsx - Tabela de eventos com ordenação
  * EventFiltersBar.tsx - Filtros avançados (3 filtros)
  * CourseForm.tsx - Formulário FOT completo
  * ProfessionalForm.tsx - Cadastro profissional

- API Service:
  * Integração com backend Go
  * Endpoints: /api/empresas, /api/funcoes, /api/niveis-educacionais, /api/universidades, /graduation-years

- Documentação:
  * README.md principal atualizado
  * frontend/README.md atualizado
  * Documentação completa de componentes e features
2025-12-11 16:02:39 -03:00
Andre F. Rodrigues
0f001232b1
Merge pull request #16 from rede5/Front-back-integracao-task1
feat: (eventos) vincula dropdown com api
2025-12-11 13:33:33 -03:00
NANDO9322
ee4f530bb1 feat: (eventos) vincula dropdown com api 2025-12-11 13:32:57 -03:00
Andre F. Rodrigues
917ad7f0ec
Merge pull request #15 from rede5/Front-back-integracao-task1
feat: (auth) ajuste mensagens de erro
2025-12-10 19:39:21 -03:00
NANDO9322
f7e79f3673 feat: (auth) ajuste mensagens de erro 2025-12-10 19:33:20 -03:00
Andre F. Rodrigues
10be798b53
Merge pull request #14 from rede5/Front-back-integracao-task1
feat(client): integra autenticacao real e melhora fluxo de login

- Integra AuthContext com API do Backend (/auth/login e /auth/register)
- Implementa Modo Hibrido: Demo Users usam Mock, outros usam API Real
- Habilita campo de senha e adiciona toggle de visibilidade (olho)
- Conecta formulario de Registro ao backend
- Adiciona preenchimento automatico de senha para usuarios de demonstracao
- Mapeia status 'ativo' do usuario vindo da API
2025-12-10 19:11:22 -03:00
NANDO9322
e83c5c8b08 feat: add .gitignore file to exclude common development artifacts and editor configurations. 2025-12-10 19:08:38 -03:00
NANDO9322
cf0cf4e95f feat(client): integra autenticacao real e melhora fluxo de login
- Integra AuthContext com API do Backend (/auth/login e /auth/register)
- Implementa Modo Hibrido: Demo Users usam Mock, outros usam API Real
- Habilita campo de senha e adiciona toggle de visibilidade (olho)
- Conecta formulario de Registro ao backend
- Adiciona preenchimento automatico de senha para usuarios de demonstracao
- Mapeia status 'ativo' do usuario vindo da API
2025-12-10 19:00:49 -03:00
Andre F. Rodrigues
7a300de997
Merge pull request #13 from rede5/back-task-5
feat(auth): melhora registro e login com vinculo profissional e status ativo  

 aprimora o fluxo de autenticação, permitindo que o processo de registro já capture dados básicos do profissional (Nome, Telefone) e vincule automaticamente a um perfil na tabela cadastro_profissionais. Também implementa a política de segurança onde novos usuários nascem Inativos por padrão.

Principais Mudanças:

Registro (/auth/register):
Novos campos obrigatórios/opcionais: nome, telefone.
Vínculo Automático: Cria registro na tabela usuarios e cadastro_profissionais numa única transação lógica.
Default Inativo: Usuários agora são criados com ativo = false (alterado na query e no schema), exigindo aprovação posterior.
Login (/auth/login):
Separação da strutura de Request (
loginRequest
 vs 
registerRequest
) para evitar erros de validação.
Resposta agora inclui o status ativo: boolean para que o frontend possa tratar usuários pendentes.
Database:
Ajuste na constraint default da coluna ativo em usuarios.
Impacto: O frontend agora deve tratar o caso de ativo: false no login (ex: mostrar mensagem "Aguardando aprovação") e enviar nome/telefone no registro.
2025-12-10 17:51:23 -03:00
NANDO9322
c151484aa6 feat(auth): melhora registro e login com vinculo profissional e status ativo
- Adiciona suporte a nome e telefone no cadastro (/register)
- Implementa criacao automatica de perfil profissional vinculado ao usuario
- Define 'ativo=false' como padrao para novos cadastros (pendente aprovacao)
- Separa DTOs de Request para Login e Registro para validacao correta
- Expora campo 'ativo' no response do Login
2025-12-10 17:49:14 -03:00
João Vitor
5711a727c3
Merge pull request #12 from rede5/feature/ui-improvements
feat: melhorias de UI e novas funcionalidades
2025-12-10 17:19:48 -03:00
yagostn
5f7aaf9b63 feat: melhorias de UI e novas funcionalidades
- Tradução de rotas para português (entrar, cadastro, configuracoes, etc)
- Ajuste de responsividade na página Financeiro (mobile)
- Correção navegação Configurações para usuário CEO/Business Owner
- Modal de gerenciamento de equipe com lista de profissionais
- Exibição de fotógrafos, cinegrafistas e recepcionistas disponíveis por data
- Ajuste de layout da logo nas telas de login e cadastro
- Correção de z-index do header
- Melhoria de espaçamento e padding em cards
2025-12-10 16:53:16 -03:00
Andre F. Rodrigues
63197b3a84
Merge pull request #11 from rede5/back-task-4
feat(cadastro-fot): implementa crud completo de FOT com joins e campo booleano
- Cria tabela 'cadastro_fot' com integracao (FKs) para Empresas, Cursos e Formaturas
- Implementa endpoints (GET/POST/PUT/DELETE) em '/api/cadastro-fot'
- Otimiza rota GET utilizando JOINs para retornar nomes das entidades estrangeiras
- Define campo 'pre_venda' como BOOLEAN e 'fot' como identificador unico (int)
- Adiciona tratativa robusta para tipos numericos no Postgres
2025-12-10 13:03:19 -03:00
NANDO9322
87326c4e29 feat(cadastro-fot): implementa crud completo de FOT com joins e campo booleano
- Cria tabela 'cadastro_fot' com integracao (FKs) para Empresas, Cursos e Formaturas
- Implementa endpoints (GET/POST/PUT/DELETE) em '/api/cadastro-fot'
- Otimiza rota GET utilizando JOINs para retornar nomes das entidades estrangeiras
- Define campo 'pre_venda' como BOOLEAN e 'fot' como identificador unico (int)
- Adiciona tratativa robusta para tipos numericos no Postgres
2025-12-10 13:00:47 -03:00
Andre F. Rodrigues
7aa2b4321c
Merge pull request #10 from rede5/back-task-3
feat: Auto-Migração, Seeding de Preços e CRUD de Eventos

Backend & Database:

Auto-Migração: O servidor agora cria tabelas automaticamente ao iniciar (schema.sql embutido).
Seed de Dados: Adicionado script que popula automaticamente a tabela de preços de referência (conforme planilha).
CRUD Completo: Adicionadas rotas PUT e DELETE para Tipos de Eventos.
Melhoria na API: Rota GET /tipos-eventos agora já retorna os preços aninhados (nested).
Fix: Listas vazias retornam [] ao invés de null.
Fix: Correção crítica na conversão de valores numéricos (R$) evitando erro 500.
Infraestrutura:

Swagger: Detecção automática de ambiente para usar http (local) ou https (prod).
CORS: Configuração mais robusta para desenvolvimento local vs produção.
2025-12-10 12:00:47 -03:00
NANDO9322
8e67dcfd49 feat: Auto-Migração, Seeding de Preços e CRUD de Eventos 2025-12-10 11:59:18 -03:00
NANDO9322
323261fa23 feat: garantir que o banco seja ajustado a cada deploy 2025-12-09 18:02:28 -03:00
NANDO9322
566bb540e4 feat: (back) Add Dockerfile 2025-12-09 17:52:04 -03:00
NANDO9322
2faa3aa2f9 feat: (back) Add Dockerfile 2025-12-09 17:22:47 -03:00
Andre F. Rodrigues
30020853d9
Merge pull request #9 from rede5/feat/cadastro-geral
Novos CRUDs, Refatoração de Auth e Melhorias na API

Resumo: Este PR implementa um conjunto de novas tabelas e endpoints para suportar o cadastro de dados auxiliares (Cursos, Empresas, Anos Formatura, etc.) e refatora o fluxo de autenticação para ser mais simples e robusto. Também inclui correções críticas de tipagem no middleware e melhorias na documentação do Swagger.

Principais Alterações:

Novas Tabelas e CRUDs:
cursos, empresas, anos_formaturas, tipos_servicos, funcoes (com validação de duplicidade).
tipos_eventos com suporte a precificação dinâmica por função (precos_tipos_eventos).
Autenticação e Registro:
Registro simplificado: /auth/register agora aceita apenas {email, senha}, criando o usuário com role padrão profissional.
Correção de Bug Crítico: O middleware de autenticação agora converte corretamente o ID do usuário de UUID para string no contexto, corrigindo o erro 500 em rotas protegidas.
Implementação de rotas de refresh token e logout.
API & Documentação:
Melhoria no Swagger: Uso de structs nomeadas para limpar os exemplos (sem additionalProp1).
Segurança: Adicionada anotação BearerAuth em todas as rotas protegidas para funcionamento correto do botão "Authorize".
Respostas HTTP: Padronização de retornos, incluindo 409 Conflict para registros duplicados.
2025-12-09 17:08:37 -03:00
NANDO9322
7f1d4144db feat(api): Implementado novas tabelas ,refatorado a autenticação e aprimorado a documentação Swagger
- Implementado CRUDs para: cursos, empresas, anos_formaturas, tipos_servicos, tipos_eventos
- Implementado lógica de precificação de eventos (precos_tipos_eventos)
- Refatorado a autenticação: Simplificar o payload de cadastro/login (somente e-mail/senha), função padrão 'profissional'
- Corrigido o middleware de autenticação: Resolvido a incompatibilidade de tipo UUID vs String (corrigir erro 500)
- Aprimorado o Swagger: Adicionado structs nomeados, validação de duplicatas (409 Conflict) e segurança BearerAuth
- Atualizar o esquema do banco de dados: Adicionar tabelas e restrições
2025-12-09 17:05:19 -03:00
yagostn
f89e1386f7 feat: tela de gerenciar equipe 2025-12-08 11:24:59 -03:00
yagostn
b99807beb3 feat: atualizacao de rotas 2025-12-08 10:31:40 -03:00
João Vitor
8016a0298e feat: Melhorias na tabela de eventos e formulários
- Adiciona coluna de Cidade com ordenação independente na tabela de eventos
- Implementa ordenação clicável em todas as colunas (nome, tipo, data, horário, cidade, local, status)
- Remove dependência de estado para filtro de cidade
- Adiciona exibição de curso/turma no modal de detalhes do evento
- Torna campo curso/turma obrigatório no formulário de solicitação de evento
- Remove campo de imagem de capa do formulário
- Corrige importação de getActiveCoursesByInstitutionId no Dashboard
2025-12-08 09:11:05 -03:00
João Vitor
de5ceea1f3 feat: reestruturar página de equipe com sistema de profissionais multi-função
- Renomear 'Equipe & Fotógrafos' para 'Equipe' no título e navbar
- Adicionar suporte para 3 tipos de profissionais: Fotógrafo, Cinegrafista, Recepcionista
- Implementar cards estatísticos separados por função profissional
- Adicionar filtros por função (Fotógrafos, Cinegrafistas, Recepcionistas)
- Adicionar filtros por status (Disponível, Em Evento, Inativo)
- Transformar cards em tabela responsiva com colunas: Nome, Função Profissional, Disponibilidade
- Expandir interface Professional com campos completos do Excel:
  * Endereço completo (rua, número, complemento, bairro, cidade, UF)
  * Dados bancários (banco, agência, conta/pix, tipo cartão, titular)
  * Recursos (carro disponível, possui estúdio, quantidade)
  * Sistema de avaliações detalhado (6 critérios + média)
  * Valores (tabela free, extra no cachê)
  * Observações
- Redesenhar modal 'Adicionar Profissional' com formulário extenso organizado em seções
- Atualizar modal de detalhes com todas as novas informações
- Adicionar ícones específicos por função (Camera, Video, UserCheck)
- Remover fotos da tabela mantendo apenas informações essenciais
2025-12-08 03:12:45 -03:00
João Vitor
3096f07102 feat: adicionar sistema completo de gestão de cursos e turmas
- Adicionada interface Course em types.ts
- Criado CourseForm para cadastro/edição de turmas
- Implementada página CourseManagement com tabelas Excel-like
- Adicionadas funções CRUD de cursos no DataContext
- Integrado dropdown de cursos no EventForm baseado na instituição
- Adicionada rota 'courses' no App.tsx
- Link 'Gestão de Cursos' inserido no menu principal após 'Equipe & Fotógrafos'
- Removido 'Configurações' do menu principal (mantido apenas no dropdown do avatar)
- Implementado comportamento de toggle para seleção de universidades
- Sistema restrito a SUPERADMIN e BUSINESS_OWNER
2025-12-08 02:53:00 -03:00
João Vitor
6b61a97171
Merge pull request #4 from rede5/feat/cadastro-profissional
feat: Implementa estrutura inicial da API para profissionais, funções…
2025-12-08 01:22:25 -03:00
NANDO9322
9ee8ca089b feat: Implementa estrutura inicial da API para profissionais, funções e autenticação com integração de banco de dados e documentação Swagger. 2025-12-05 11:56:03 -03:00
yagostn
f73095e3d4 feat: mudancas de layout 2025-12-05 10:43:48 -03:00
yagostn
4e9b743928 feat: atuializacao de layout 2025-12-04 10:36:33 -03:00
Yago santana
a3655d2068 feat: melhoria de layout e ajuste de calendario 2025-12-04 00:58:49 -03:00
João Vitor
cc6c45c6fe feat: trocado a foto da tela de login 2025-12-03 16:02:56 -03:00