Fases 4, 5 e 6 — Job 1h + Auditoria + Consolidação + Wizard de validação
This commit is contained in:
@@ -1,58 +1,56 @@
|
||||
# config/routes.rb
|
||||
Rails.application.routes.draw do
|
||||
# Devise com controller customizado para sessões
|
||||
devise_for :users,
|
||||
controllers: {
|
||||
sessions: 'users/sessions'
|
||||
}
|
||||
# Devise — login padrão para admin/gerente/operador
|
||||
devise_for :users, path: 'auth', path_names: {
|
||||
sign_in: 'login',
|
||||
sign_out: 'logout',
|
||||
password: 'senha'
|
||||
}
|
||||
|
||||
# Root
|
||||
authenticated :user do
|
||||
root 'dashboard#index', as: :authenticated_root
|
||||
end
|
||||
root 'devise/sessions#new'
|
||||
# Root — redireciona por role
|
||||
root 'dashboard#index'
|
||||
|
||||
# Dashboard (Fase 3)
|
||||
# Dashboard principal (admin/gerente/operador)
|
||||
get '/dashboard', to: 'dashboard#index', as: :dashboard
|
||||
|
||||
# Painel motorista (Fase 2 / 8)
|
||||
get '/motorista', to: 'motorista#index', as: :motorista
|
||||
# Painel motorista
|
||||
get '/motorista', to: 'motorista/dashboard#index', as: :motorista_dashboard
|
||||
|
||||
# Usuários (Fase 2)
|
||||
resources :usuarios do
|
||||
member do
|
||||
post :toggle_ativo
|
||||
end
|
||||
end
|
||||
|
||||
# Configurações (Fase 2)
|
||||
resources :configuracoes, only: [:index, :edit, :update] do
|
||||
collection do
|
||||
post :toggle_tema
|
||||
end
|
||||
end
|
||||
|
||||
# Consolidações (Fases 5 e 6)
|
||||
# Consolidações
|
||||
resources :consolidacoes do
|
||||
member do
|
||||
patch :fechar
|
||||
patch :aprovar
|
||||
patch :cancelar
|
||||
post :reabrir
|
||||
get :wizard # Passo 1 — selecionar motorista
|
||||
post :finalizar
|
||||
post :arquivar
|
||||
get :preview_holerite
|
||||
get :gerar_pdf_relatorio
|
||||
get :gerar_pdf_holerite
|
||||
end
|
||||
|
||||
resources :consolidacao_entregas, only: [] do
|
||||
collection do
|
||||
get :validar # Passo 2 — toggles de classificação
|
||||
post :classificar # toggle individual (JSON)
|
||||
post :classificar_em_massa # ações em massa (JSON)
|
||||
get :revisar # Passo 3 — revisão do motorista
|
||||
end
|
||||
end
|
||||
resources :consolidacao_motoristas, only: [:create, :update, :destroy], shallow: true
|
||||
end
|
||||
|
||||
# Histórico estimado (Fase 4)
|
||||
resources :historico_estimados, only: [:index, :show]
|
||||
# Configurações (apenas admin/gerente)
|
||||
namespace :admin do
|
||||
resources :usuarios, except: [:show]
|
||||
resources :configuracoes, only: [:index, :update]
|
||||
resources :auditoria_logs, only: [:index]
|
||||
end
|
||||
|
||||
# Logs de auditoria (Fase 4)
|
||||
resources :auditoria_logs, only: [:index, :show]
|
||||
# API interna — Dashboard métricas
|
||||
namespace :api do
|
||||
namespace :v1 do
|
||||
get 'dashboard/metricas', to: 'dashboard#metricas'
|
||||
end
|
||||
end
|
||||
|
||||
# PDFs (Fase 7)
|
||||
# get '/consolidacoes/:id/pdf', to: 'pdfs#consolidacao', as: :pdf_consolidacao
|
||||
# get '/consolidacao_motoristas/:id/pdf', to: 'pdfs#holerite', as: :pdf_holerite
|
||||
|
||||
# Health check
|
||||
get '/health', to: proc { [200, {}, ['ok']] }
|
||||
# Health check (Docker)
|
||||
get '/health', to: proc { [200, {}, ['OK']] }
|
||||
end
|
||||
|
||||
12
config/schedule.rb
Normal file
12
config/schedule.rb
Normal file
@@ -0,0 +1,12 @@
|
||||
# config/schedule.rb
|
||||
# Agendamento com Whenever gem
|
||||
# Atualizar crontab: bundle exec whenever --update-crontab
|
||||
# Ver crontab gerado: bundle exec whenever
|
||||
|
||||
set :output, "log/cron.log"
|
||||
set :environment, ENV.fetch("RAILS_ENV", "production")
|
||||
|
||||
# A cada 1 hora — atualiza o valor estimado do dia
|
||||
every 1.hour do
|
||||
rake "historico:atualizar"
|
||||
end
|
||||
Reference in New Issue
Block a user