]> git.openstreetmap.org Git - rails.git/blob - lib/tasks/dev.rake
Simple seed script to provide an initial user
[rails.git] / lib / tasks / dev.rake
1 # frozen_string_literal: true
2
3 namespace :dev do
4   desc "Populate the development database with some fake data"
5   task :populate => :environment do
6     raise "This task can only be run in development mode" unless Rails.env.development?
7
8     display_name = "admin"
9     password = "openstreetmap"
10     email = "admin_#{SecureRandom.uuid}@example.com"
11     role = "administrator"
12
13     admin = User.find_or_create_by!(:display_name => display_name) do |user|
14       user.email = email
15       user.pass_crypt = password
16       user.pass_crypt_confirmation = password
17       user.tou_agreed = Time.now.utc
18       user.terms_seen = true
19       user.terms_agreed = Time.now.utc
20       user.email_valid = true
21       user.data_public = true
22       user.activate
23     end
24
25     admin.roles.create!(:role => role, :granter_id => admin.id)
26
27     puts(
28       <<~MESSAGE
29         Created user:
30           - Display name: #{display_name}
31           - Email: #{email}
32           - Password: #{password}
33           - Role: #{role}
34       MESSAGE
35     )
36     Oauth::Util.register_apps(display_name)
37   end
38 end