79 lines
2.8 KiB
Ruby
79 lines
2.8 KiB
Ruby
# 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 "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|