61 lines
2.6 KiB
Ruby
61 lines
2.6 KiB
Ruby
# db/seeds.rb
|
|
# Dados iniciais do sistema Gade Hospitalar
|
|
# Execute com: bundle exec rails db:seed
|
|
|
|
puts "🌱 Criando dados iniciais..."
|
|
|
|
# ── Usuário Admin padrão ─────────────────────────────────────
|
|
admin = User.find_or_create_by!(email: 'admin@gade.com') do |u|
|
|
u.nome = 'Administrador Gade'
|
|
u.password = 'Gade@2026!'
|
|
u.role = :admin
|
|
u.ativo = true
|
|
end
|
|
puts " ✅ Admin criado: #{admin.email} / senha: Gade@2026!"
|
|
|
|
# ── Usuário Gerente de exemplo ───────────────────────────────
|
|
gerente = User.find_or_create_by!(email: 'gerente@gade.com') do |u|
|
|
u.nome = 'Gerente Gade'
|
|
u.password = 'Gade@2026!'
|
|
u.role = :gerente
|
|
u.ativo = true
|
|
end
|
|
puts " ✅ Gerente criado: #{gerente.email}"
|
|
|
|
# ── Configurações de preço padrão ────────────────────────────
|
|
configs = [
|
|
{ chave: 'preco_entrega', valor: '15.00', descricao: 'Valor pago por entrega bem-sucedida (R$)' },
|
|
{ chave: 'preco_retirada', valor: '20.00', descricao: 'Valor pago por retirada de equipamento (R$)' },
|
|
{ chave: 'preco_bonus', valor: '10.00', descricao: 'Valor de bônus por meta/critério (R$)' },
|
|
{ chave: 'preco_desconto', valor: '15.00', descricao: 'Valor descontado por problema (R$)' },
|
|
{ chave: 'notificacao_whatsapp', valor: 'false', descricao: 'Notificações via WhatsApp (true/false)' },
|
|
{ chave: 'notificacao_email', valor: 'false', descricao: 'Notificações via e-mail (true/false)' },
|
|
{ chave: 'empresa_nome', valor: 'Gade Hospitalar', descricao: 'Nome da empresa exibido no sistema' },
|
|
]
|
|
|
|
configs.each do |cfg|
|
|
Configuracao.find_or_create_by!(chave: cfg[:chave]) do |c|
|
|
c.valor = cfg[:valor]
|
|
c.descricao = cfg[:descricao]
|
|
end
|
|
puts " ✅ Config: #{cfg[:chave]} = #{cfg[:valor]}"
|
|
end
|
|
|
|
puts ""
|
|
puts "✅ Seeds concluídos!"
|
|
puts " Admin: admin@gade.com / Gade@2026!"
|
|
puts " ⚠️ ALTERE A SENHA DO ADMIN NO PRIMEIRO ACESSO!"
|
|
|
|
# ── Motoristas de teste (Fase 2 — Victor) ────────────────────
|
|
[
|
|
{ nome: 'João Silva', pin: '1234' },
|
|
{ nome: 'Maria Santos', pin: '5678' },
|
|
{ nome: 'Carlos Souza', pin: '9012' },
|
|
].each do |m|
|
|
User.find_or_create_by!(nome: m[:nome], role: :motorista) do |u|
|
|
u.pin_code = m[:pin]
|
|
u.ativo = true
|
|
end
|
|
puts " ✅ Motorista: #{m[:nome]} / PIN: #{m[:pin]}"
|
|
end
|