Commit graph

130 commits

Author SHA1 Message Date
NANDO9322
272e650df0 ajuste dos ambientes dev hml pro 2026-01-23 17:28:02 -03:00
NANDO9322
446867364e atualizado dados DB 2026-01-23 16:55:16 -03:00
NANDO9322
708f4237dc atualizado dados DB 2026-01-23 16:46:07 -03:00
NANDO9322
a753824375 chore: test deploy with host runner8 2026-01-21 22:17:05 -03:00
NANDO9322
ccbb0f7d1e chore: test deploy with host runner7 2026-01-21 22:14:15 -03:00
NANDO9322
b0bd65747b chore: test deploy with host runner6 2026-01-21 22:02:34 -03:00
NANDO9322
e92a4b6b25 chore: test deploy with host runner5 2026-01-21 21:59:17 -03:00
NANDO9322
9e89114f92 chore: test deploy with host runner4 2026-01-21 21:57:35 -03:00
NANDO9322
bd5a7d534a chore: test deploy with host runner3 2026-01-21 21:55:42 -03:00
NANDO9322
208e3b6d6d chore: test deploy with host runner2 2026-01-21 21:35:55 -03:00
NANDO9322
db1d92fa81 chore: test deploy with host runner1 2026-01-21 21:31:39 -03:00
NANDO9322
003d4f2d49 chore: test deploy with host runner 2026-01-21 21:29:15 -03:00
NANDO9322
d8643e47fe chore: test deploy with host runner 2026-01-21 21:27:01 -03:00
NANDO9322
d09921b09b fix: bypass container image to avoid api version error 2026-01-21 21:14:28 -03:00
NANDO9322
41325d6396 chore: use podman with socket path 2026-01-21 21:09:37 -03:00
NANDO9322
abf5612173 feat: correct folder structure and build path 2026-01-21 21:00:03 -03:00
NANDO9322
a3c42404d2 fix: final workflow and paths 2026-01-21 20:53:33 -03:00
NANDO9322
18c0601b11 jesus 2026-01-21 20:44:27 -03:00
JoaoVitorMS0
93d603da6c feat: implementa visualização de agenda para profissionais e melhorias no sistema
- Adiciona role 'agenda_viewer' para profissionais visualizarem apenas suas agendas
- Implementa middleware de autorização baseado em roles
- Adiciona validação de permissões nos endpoints de agenda
- Melhora exibição de dados financeiros e logísticos
- Atualiza componentes frontend para melhor UX
- Adiciona documentação sobre o papel de visualização de agenda
2026-01-19 17:06:27 -03:00
NANDO9322
5f4868c750 Merge branch 'dev' of https://github.com/rede5/photum into dev 2026-01-16 18:37:06 -03:00
NANDO9322
5b0783f36b fix: (agenda) descricao melhorada para titulo das colunas da listagem dos eventos 2026-01-16 18:37:00 -03:00
NANDO9322
0a4f53748b fix: (agenda) descricao melhorada para titulo das colunas da listagem dos eventos 2026-01-16 16:22:34 -03:00
Andre F. Rodrigues
1b55707f90
Merge pull request #43 from rede5/Front-back-integracao-task19
feat(financeiro): implementação do extrato financeiro do profissional e melhorias na agenda
2026-01-16 16:09:32 -03:00
NANDO9322
943b4f6506 feat(financeiro): implementação do extrato financeiro do profissional e melhorias na agenda
- Backend:
  - Adicionado endpoint para extrato financeiro do profissional (/meus-pagamentos).
  - Atualizada query SQL para incluir nome da empresa e curso nos detalhes da transação.
  - Adicionado retorno de valores (Free, Extra, Descrição) na API.

- Frontend:
  - Nova página "Meus Pagamentos" com modal de detalhes da transação.
  - Removido componente antigo PhotographerFinance.
  - Ajustado filtro de motoristas na Logística para exibir apenas profissionais atribuídos e com carro.
  - Corrigida exibição da função do profissional na Escala (mostra a função atribuída no evento, ex: Cinegrafista).
  - Melhoria no botão de voltar na tela de detalhes do evento.
2026-01-16 16:07:49 -03:00
Andre F. Rodrigues
8f081d20f9
Merge pull request #42 from rede5/Front-back-integracao-task18
feat: notificações whatsapp com logística e correção de contagem de equipe
2026-01-16 12:57:30 -03:00
NANDO9322
175ee98f2a feat: notificações whatsapp com logística e correção de contagem de equipe
- Implementa envio de notificação WhatsApp ao aprovar evento ("Confirmado"), incluindo detalhes de logística (carro, motorista, passageiros) e endereço formatado.
- Adiciona coluna `funcao_id` em `agenda_profissionais` para distinguir a função específica do profissional no evento.
- Corrige bug de contagem duplicada na tabela de eventos para profissionais com múltiplas funções.
- Corrige validação ao aceitar convite para checar lotação apenas da função designada.
- Adiciona exibição da função (ex: Fotógrafo, Cinegrafista) na lista lateral do painel.
2026-01-16 12:56:40 -03:00
NANDO9322
e78de535c1 feat: implementação do financeiro e suporte a múltiplas funções
Este commit introduz o módulo financeiro completo e refatora o sistema de profissionais para suportar múltiplas funções, corrigindo a contabilização e validação de equipes.

Principais alterações:

- **Módulo Financeiro:**
  - Criação da tabela `financial_transactions` e queries associadas.
  - Implementação do backend (Handler/Service) para gerenciar transações.
  - Nova página [Finance.tsx](cci:7://file:///c:/Projetos/photum/frontend/pages/Finance.tsx:0:0-0:0) com listagem, edição, filtros avançados e agrupamento por FOT.
  - Correção na busca de FOTs e formatação de datas.

- **Gestão de Equipe e Profissionais:**
  - Refatoração para suportar múltiplas funções por profissional (Backend & Frontend).
  - Atualização do [Dashboard](cci:1://file:///c:/Projetos/photum/frontend/pages/Dashboard.tsx:31:0-1663:2) e [EventTable](cci:1://file:///c:/Projetos/photum/frontend/components/EventTable.tsx:28:0-659:2) para contabilizar corretamente profissionais (Fotografo, Cinegrafista, Recepcionista) verificando a lista de funções.
  - Implementação de validação de cota no aceite de convites (bloqueia se a equipe da função específica já estiver completa).
  - Ajuste visual nos indicadores de "Equipe Completa" e contadores de faltantes na listagem de eventos.

- **Geral:**
  - Atualização da documentação Swagger.
  - Ajustes de tipagem e migrações de banco de dados.
2026-01-15 18:07:39 -03:00
JoaoVitorMS0
a1d5434414 feat: Implementar sistema completo de gestão de equipe e restrições
- Adicionar restrições de exclusão de FOT quando há eventos associados
- Implementar tooltips para motivos de recusa de eventos por fotógrafos
- Filtrar eventos recusados das listas de fotógrafos
- Adicionar sistema de filtros avançados no modal de gerenciar equipe
- Implementar campos completos de gestão de equipe (fotógrafos, recepcionistas, cinegrafistas, estúdios, pontos de foto, pontos decorados, pontos LED)
- Adicionar colunas de gestão na tabela principal com cálculos automáticos de profissionais faltantes
- Implementar controle de visibilidade da seção de gestão apenas para empresas
- Adicionar status visual "Profissionais OK" com indicadores de completude
- Implementar sistema de cálculo em tempo real de equipe necessária vs confirmada
- Adicionar validações condicionais baseadas no tipo de usuário
2026-01-13 13:24:38 -03:00
JoaoVitorMS0
3430d6bab5 feat: Update database models, API documentation and frontend authentication system 2026-01-12 16:41:50 -03:00
NANDO9322
7010e8e7d9 fix: correções de email, avatar e filtro de equipe no agendador
Backend:
- Corrigido mapeamento de email na listagem e busca por ID de profissionais. Agora o sistema utiliza o email do usuário vinculado (`usuario_email`) como fallback caso o email do perfil profissional esteja vazio.

Frontend:
- EventScheduler: Implementado filtro estrito para exibir apenas profissionais que foram explicitamente adicionados à equipe do evento ("Gerenciar Equipe"), prevenindo escalações indevidas.
- EventScheduler: Adicionada validação para ocultar cargos administrativos sem função operacional definida.
- ProfessionalDetailsModal: Corrigida a lógica de exibição do avatar para suportar a propriedade `avatar_url` (padrão atual do backend), resolvendo o problema de imagens quebradas ou ícones genéricos.
2026-01-12 12:20:08 -03:00
Andre F. Rodrigues
9ff55b36bd
Merge pull request #41 from rede5/Front-back-integracao-task17
Implementa validação de horários para evitar conflitos no aceite de eventos, correções na sincronização de dados da agenda e melhorias na interface de gestão de equipe.

Backend:
- handler.go: Correção no retorno do endpoint [UpdateAssignmentStatus](cci:1://file:///c:/Projetos/photum/backend/internal/agenda/handler.go:279:0-313:1) para enviar JSON válido e evitar erros no frontend.
- service.go: Implementação da lógica de validação de conflitos antes de aceitar um evento.
- agenda.sql: Nova query `CheckProfessionalBusyDate` para verificação de sobreposição de horários.

Frontend:
- Dashboard.tsx: Adição de tooltip e texto para exibir o "Motivo da Rejeição" na gestão de equipe (Desktop/Mobile).
- EventScheduler.tsx: Filtro para excluir profissionais com status 'REJEITADO' e correção na label de 'Pendente'.
- EventDetails.tsx: Refatoração para usar estado global ([useData](cci:1://file:///c:/Projetos/photum/frontend/contexts/DataContext.tsx:1156:0-1160:2)), garantindo atualização imediata de datas e locais.
- DataContext.tsx: Mapeamento do campo `local_evento` e melhoria no tratamento de erro otimista.
- Ajustes gerais em ProfessionalDetailsModal, Login e correções de tipos.
2025-12-30 11:27:10 -03:00
NANDO9322
7536bddacb feat: sistema de validação de conflitos e melhorias na UX da agenda
Implementa validação de horários para evitar conflitos no aceite de eventos, correções na sincronização de dados da agenda e melhorias na interface de gestão de equipe.

Backend:
- handler.go: Correção no retorno do endpoint [UpdateAssignmentStatus](cci:1://file:///c:/Projetos/photum/backend/internal/agenda/handler.go:279:0-313:1) para enviar JSON válido e evitar erros no frontend.
- service.go: Implementação da lógica de validação de conflitos antes de aceitar um evento.
- agenda.sql: Nova query `CheckProfessionalBusyDate` para verificação de sobreposição de horários.

Frontend:
- Dashboard.tsx: Adição de tooltip e texto para exibir o "Motivo da Rejeição" na gestão de equipe (Desktop/Mobile).
- EventScheduler.tsx: Filtro para excluir profissionais com status 'REJEITADO' e correção na label de 'Pendente'.
- EventDetails.tsx: Refatoração para usar estado global ([useData](cci:1://file:///c:/Projetos/photum/frontend/contexts/DataContext.tsx:1156:0-1160:2)), garantindo atualização imediata de datas e locais.
- DataContext.tsx: Mapeamento do campo `local_evento` e melhoria no tratamento de erro otimista.
- Ajustes gerais em ProfessionalDetailsModal, Login e correções de tipos.
2025-12-30 11:24:53 -03:00
Andre F. Rodrigues
b03a5445b5
Merge pull request #40 from rede5/Front-back-integracao-task16
feat: Ajusta a edição de eventos no gerenciamento de agenda, incluindo atribuição de profissionais e status
2025-12-29 19:57:12 -03:00
NANDO9322
002dee832d feat: Ajusta a edição de eventos no gerenciamento de agenda, incluindo atribuição de profissionais e status 2025-12-29 19:55:50 -03:00
Andre F. Rodrigues
991897dcc5
Merge pull request #39 from rede5/Front-back-integracao-task16
fix: ajustado fluxo e geracao de codigos de acesso
2025-12-29 17:23:11 -03:00
NANDO9322
cd00fb53f9 fix: ajustado fluxo e geracao de codigos de acesso 2025-12-29 17:21:03 -03:00
Andre F. Rodrigues
1152d5ada6
Merge pull request #38 from rede5/Front-back-integracao-task16
feat: Adicionado gerenciamento de codigos de acesso
2025-12-29 16:55:06 -03:00
NANDO9322
5312945f7c feat: Adicionado gerenciamento de usuários administradores, funcionalidade de código de acesso e documentação da API. 2025-12-29 16:51:55 -03:00
Andre F. Rodrigues
030b78d787
Merge pull request #37 from rede5/Front-back-integracao-task15
feat(ops): implementa modulo operacional completo (escala, logistica, equipe)

- Backend: Migrations para tabelas 'escalas' e 'logistica' (transporte)
- Backend: Handlers e Services completos para gestão de escalas e logística
- Backend: Suporte a auth vinculado a perfil profissional
- Frontend: Nova página de Detalhes Operacionais (/agenda/:id)
- Frontend: Componente EventScheduler com verificação robusta de conflitos
- Frontend: Componente EventLogistics para gestão de motoristas e caronas
- Frontend: Modal de Detalhes de Profissional unificado (Admin + Self-view)
- Frontend: Dashboard com modal de gestão de equipe e filtros avançados
- Fix: Correção crítica de timezone (UTC) em horários de agendamento
- Fix: Tratamento de URLs no campo de local do evento
- Fix: Filtros de profissional com carro na logística


núcleo operacional da plataforma, permitindo o fluxo completo de agendamento e logística de eventos.
## Principais Implementações
### 1. Escala e Agendamento ([EventScheduler](cci:1://file:///c:/Projetos/photum/frontend/components/EventScheduler.tsx:21:0-276:2))
- Interface para alocação de profissionais em horários específicos.
- **Sistema Anti-Conflito**: Bloqueia alocação de profissionais já ocupados em outros eventos no mesmo dia/horário.
- Visualização de status (Confirmado/Pendente/Recusado).
### 2. Logística ([EventLogistics](cci:1://file:///c:/Projetos/photum/frontend/components/EventLogistics.tsx:22:0-209:2))
- Gestão de transporte e caronas.
- Filtro inteligente: Apenas profissionais com `carro_disponivel` aparecem como opções de Motorista.
### 3. Gestão de Equipe e Detalhes
- Modal unificado de detalhes do profissional, acessível via Painel e Escala.
- **Self-View**: Profissionais podem visualizar seus próprios dados completos (incluindo financeiros e performance).
- Gestores visualizam dados de todos.
### 4. Melhorias Técnicas e Fixes
- **Timezone**: Correção definitiva para armazenamento de horários (conversão Local -> UTC correta).
- **UX**:
  - Links de mapa detectados automaticamente no campo 'Local'.
  - Dropdowns com informações de função (e.g. "João - Fotógrafo").
  - Feedback visual de status de conflito.
2025-12-29 16:04:04 -03:00
NANDO9322
804a566095 feat(ops): implementa modulo operacional completo (escala, logistica, equipe)
- Backend: Migrations para tabelas 'escalas' e 'logistica' (transporte)
- Backend: Handlers e Services completos para gestão de escalas e logística
- Backend: Suporte a auth vinculado a perfil profissional
- Frontend: Nova página de Detalhes Operacionais (/agenda/:id)
- Frontend: Componente EventScheduler com verificação robusta de conflitos
- Frontend: Componente EventLogistics para gestão de motoristas e caronas
- Frontend: Modal de Detalhes de Profissional unificado (Admin + Self-view)
- Frontend: Dashboard com modal de gestão de equipe e filtros avançados
- Fix: Correção crítica de timezone (UTC) em horários de agendamento
- Fix: Tratamento de URLs no campo de local do evento
- Fix: Filtros de profissional com carro na logística
2025-12-29 16:01:17 -03:00
Andre F. Rodrigues
5d02775496
Merge pull request #36 from rede5/Front-back-integracao-task14
feat(team): fluxo completo de cadastro de equipe com senha, correções de vínculo e avatar

- Frontend: Adiciona campos de senha e visibilidade na tela de Equipe.
- Frontend: Implementa criação de usuário prévia ao cadastro do profissional.
- Backend (Auth): Remove criação duplicada de perfil e ativa usuários automaticamente.
- Backend (Auth): Inclui dados do profissional (avatar) na resposta do endpoint /me.
- Backend (Profissionais): Corrige chave de contexto ('role') para permitir vínculo correto de usuário.
- Backend (Profissionais): Sincroniza exclusão para remover conta de usuário ao deletar profissional.
- Docs: Atualização dos arquivos Swagger.
2025-12-25 16:29:29 -03:00
NANDO9322
958918cb8a feat(team): fluxo completo de cadastro de equipe com senha, correções de vínculo e avatar
- Frontend: Adiciona campos de senha e visibilidade na tela de Equipe.
- Frontend: Implementa criação de usuário prévia ao cadastro do profissional.
- Backend (Auth): Remove criação duplicada de perfil e ativa usuários automaticamente.
- Backend (Auth): Inclui dados do profissional (avatar) na resposta do endpoint /me.
- Backend (Profissionais): Corrige chave de contexto ('role') para permitir vínculo correto de usuário.
- Backend (Profissionais): Sincroniza exclusão para remover conta de usuário ao deletar profissional.
- Docs: Atualização dos arquivos Swagger.
2025-12-25 16:25:07 -03:00
Andre F. Rodrigues
9ccd28fc42
Merge pull request #35 from rede5/Front-back-integracao-task13
feat: aprimora responsividade mobile, form de eventos e persistência de dados

- Frontend:
  - Implementa visualização em cards mobile para lista de Eventos (/painel), Gestão de Cursos (/cursos) e modal de Equipe.
  - Corrige rolagem e layout do modal de detalhes do profissional em telas pequenas.
  - Unifica seleção de turma (Curso/Inst/Ano) no formulário de eventos para simplificar UX.
  - Adiciona botão "Voltar" no formulário de eventos.
  - Adiciona integração de busca de CEP e validação de "Qtd Estúdios".
  - Ajusta inputs de avaliação (estrelas) e exibição de disponibilidade de horário.
  - Atualiza interfaces (types.ts) para incluir campos novos (cep, email no profissional).

- Backend:
  - Adiciona persistência do campo "email" na tabela de profissionais.
  - Corrige bug de persistência nula no campo "media" (avaliação).
  - Atualiza queries SQL e gera novos modelos (sqlc) para refletir mudanças no schema.
  - Atualiza documentação Swagger.
2025-12-25 12:24:30 -03:00
NANDO9322
636ad73993 feat: aprimora responsividade mobile, form de eventos e persistência de dados
- Frontend:
  - Implementa visualização em cards mobile para lista de Eventos (/painel), Gestão de Cursos (/cursos) e modal de Equipe.
  - Corrige rolagem e layout do modal de detalhes do profissional em telas pequenas.
  - Unifica seleção de turma (Curso/Inst/Ano) no formulário de eventos para simplificar UX.
  - Adiciona botão "Voltar" no formulário de eventos.
  - Adiciona integração de busca de CEP e validação de "Qtd Estúdios".
  - Ajusta inputs de avaliação (estrelas) e exibição de disponibilidade de horário.
  - Atualiza interfaces (types.ts) para incluir campos novos (cep, email no profissional).

- Backend:
  - Adiciona persistência do campo "email" na tabela de profissionais.
  - Corrige bug de persistência nula no campo "media" (avaliação).
  - Atualiza queries SQL e gera novos modelos (sqlc) para refletir mudanças no schema.
  - Atualiza documentação Swagger.
2025-12-25 12:22:53 -03:00
Andre F. Rodrigues
7fe7bd87fb
Merge pull request #34 from rede5/Front-back-integracao-task12
feat(profissionais): melhorar a visualização de detalhes e persistência dos profissionais - Adiciona a coluna `email` ao banco de dados para corrigir a persistência do e-mail de contato. - Atualiza o `Team.tsx` para exibir todos os campos do profissional no modal de detalhes (Dados Financeiros, Detalhamento de Avaliações). - Corrige o cálculo e a persistência de `media` (ajuste para valor nulo). - Implementa integração com CEP para preenchimento automático de endereço. - Adiciona validações para valores negativos e corrige problemas de layout.
2025-12-24 15:04:28 -03:00
NANDO9322
90841596c1 feat(profissionais): melhorar a visualização de detalhes e persistência dos profissionais
- Adiciona a coluna `email` ao banco de dados para corrigir a persistência do e-mail de contato.
- Atualiza o `Team.tsx` para exibir todos os campos do profissional no modal de detalhes (Dados Financeiros, Detalhamento de Avaliações).
- Corrige o cálculo e a persistência de `media` (ajuste para valor nulo).
- Implementa integração com CEP para preenchimento automático de endereço.
- Adiciona validações para valores negativos e corrige problemas de layout.
2025-12-24 15:03:08 -03:00
Andre F. Rodrigues
95d7906c28
Merge pull request #33 from rede5/Front-back-integracao-task11
feat(staffing): implementa sistema de disponibilidade e escalonamento, (frontend): implementa modal de detalhes e updates otimistas na equipe
2025-12-23 17:36:22 -03:00
NANDO9322
434548c158 feat(staffing): implementa sistema de disponibilidade e escalonamento
- Adiciona tabela `disponibilidade_profissionais` no schema
- Adiciona coluna `posicao` para mapa de profissionais no evento
- Implementa Service e Handler para gerenciar Disponibilidade (Set/Get)
- Implementa lógica de Escalonamento: listar disponíveis e atribuir posição
- Atualiza rotas da API e serviço do frontend

feat(frontend): implementa modal de detalhes e updates otimistas na equipe

- Adiciona componente ProfessionalDetailsModal para exibir dados completos do profissional
- Implementa update otimista em DataContext para adição/removação instantânea da equipe
- Corrige bug crítico de sintaxe e estrutura na Dashboard.tsx
- Adiciona badges de status (Pendente/Confirmado/Rejeitado) na listagem de equipe
- Corrige erro de referência de variável (professionalId) no fluxo de atribuição
2025-12-23 17:29:40 -03:00
Andre F. Rodrigues
38098f4f57
Merge pull request #32 from rede5/Front-back-integracao-task10
adiciona tipo profissional ao schema e corrige avatar
- Adiciona coluna `tipo_profissional` à tabela `usuarios`
- Atualiza handlers e services do Backend Go para persistir o tipo
- Atualiza registro no Frontend para enviar o nome da função (ex: "Cinegrafista")
- Corrige uploads S3 para compatibilidade com Civo (PathStyle)
- Script para definir política pública de leitura no bucket S3
- Adiciona fallback para imagens de avatar na Navbar

----------------------------------------------------------------------------------------------------------------------------------------

implementacao/upload-avatar-e-tipo-profissional

implementa o fluxo completo de upload de avatar para profissionais, corrige a exibição de imagens do S3 (Civo) e adiciona a persistência do "Tipo de Profissional" na tabela de usuários para melhor identificação, mantendo a role do sistema inalterada.

Alterações Principais:

🖼️ Frontend

AuthContext: Atualizado para enviar tipo_profissional durante o registro.
ProfessionalForm: Agora captura o nome da função selecionada (ex: "Fotógrafo") e envia para o registro.
Navbar: Adicionados handlers onError para as imagens de avatar, garantindo fallback elegante para iniciais caso a imagem falhe.
Upload: Implementado upload direto para S3 via URL pré-assinada (Presigned URL).
⚙️ Backend

Banco de Dados:
Adicionada coluna tipo_profissional na tabela usuarios.
Atualizadas queries SQLC para leitura/escrita deste novo campo.
Auth Service:
Handler atualizado para aceitar tipo_profissional no payload.
Service atualizado para persistir o dado no banco.
S3 Storage:
Ajustado para usar PathStyle (compatibilidade com Civo).
Removida ACL public-read (causava erro 403) e substituída por script de política de bucket.
🛠️ Ferramentas

Criado script 
cmd/tools/set_bucket_public.go
 para configurar programaticamente a política de acesso público do bucket.
 Checklist de Verificação

 Upload de avatar funcionando.
 Imagem carrega corretamente no cabeçalho (após correção da política do bucket).
 Tipo do profissional é salvo corretamente no banco (SELECT email, tipo_profissional FROM usuarios;).
 Cadastro segue funcionando normalmente para outros perfis.
2025-12-22 12:41:21 -03:00
NANDO9322
cd196a0275 feat(auth): adiciona tipo profissional ao schema e corrige avatar
- Adiciona coluna `tipo_profissional` à tabela `usuarios`
- Atualiza handlers e services do Backend Go para persistir o tipo
- Atualiza registro no Frontend para enviar o nome da função (ex: "Cinegrafista")
- Corrige uploads S3 para compatibilidade com Civo (PathStyle)
- Script para definir política pública de leitura no bucket S3
- Adiciona fallback para imagens de avatar na Navbar
2025-12-22 12:37:42 -03:00