# db/seeds.rb # Rodar com: docker-compose exec app bundle exec rails db:seed puts "🌱 Iniciando seeds..." # ─── ConfiguraΓ§Γ΅es de preΓ§o (Fase 1 + confirmaΓ§Γ£o) ─────────────────────────── configs = [ { tipo: :entrega, valor: 10.50, descricao: 'Entrega padrΓ£o para UBS, EMAD, STS, SAD' }, { tipo: :retirada, valor: 8.00, descricao: 'Retirada de material nos pontos de origem' }, { tipo: :bonus, valor: 5.00, descricao: 'BΓ΄nus por desempenho / entregas especiais' }, { tipo: :desconto, valor: 2.00, descricao: 'Desconto aplicado por ocorrΓͺncia' } ] configs.each do |c| Configuracao.find_or_create_by!(tipo: c[:tipo]) do |cfg| cfg.valor = c[:valor] cfg.descricao = c[:descricao] end end puts " βœ… #{Configuracao.count} configuraΓ§Γ΅es de preΓ§o" # ─── UsuΓ‘rios ──────────────────────────────────────────────────────────────── usuarios = [ { name: 'Admin Gade', email: 'admin@gade.com', password: 'Gade@2026!', role: :admin, ativo: true }, { name: 'Gerente OperaΓ§Γ΅es', email: 'gerente@gade.com', password: 'Gade@2026!', role: :gerente, ativo: true }, { name: 'Operador Entregas', email: 'operador@gade.com', password: 'Gade@2026!', role: :operador, ativo: true }, # Motoristas com PIN { name: 'JoΓ£o Silva', role: :motorista, pin_acesso: '1234', ativo: true }, { name: 'Maria Oliveira', role: :motorista, pin_acesso: '5678', ativo: true }, { name: 'Carlos Santos', role: :motorista, pin_acesso: '9012', ativo: true } ] usuarios.each do |u| user = User.find_or_initialize_by( u[:role] == :motorista ? { name: u[:name], role: :motorista } : { email: u[:email] } ) user.assign_attributes(u.except(:email)) user.email = u[:email] || "#{u[:name].downcase.gsub(' ', '.')}@gade.local" user.password = u[:password] || SecureRandom.hex(12) if user.new_record? if user.save puts " βœ… #{user.role.upcase}: #{user.name}" else puts " ⚠️ #{user.name}: #{user.errors.full_messages.join(', ')}" end end puts "" puts "βœ… Seeds concluΓ­dos!" puts "" puts "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" puts " Admin: admin@gade.com / Gade@2026!" puts " Gerente: gerente@gade.com / Gade@2026!" puts " Operador: operador@gade.com / Gade@2026!" puts " Motorista JoΓ£o: PIN 1234" puts " Motorista Maria: PIN 5678" puts " Motorista Carlos: PIN 9012" puts " ⚠️ ALTERE AS SENHAS NO PRIMEIRO ACESSO!" puts "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"