Commit b5b2ec6b1b853cf259de8801372d4ef962456f7c

Authored by Fernando Brito
1 parent b4fb4f6e
Exists in master and in 2 other branches v2, wikilibras

rails_apps_composer: set up database

app/services/create_admin_service.rb 0 → 100644
@@ -0,0 +1,8 @@ @@ -0,0 +1,8 @@
  1 +class CreateAdminService
  2 + def call
  3 + user = User.find_or_create_by!(email: Rails.application.secrets.admin_email) do |user|
  4 + user.password = Rails.application.secrets.admin_password
  5 + user.password_confirmation = Rails.application.secrets.admin_password
  6 + end
  7 + end
  8 +end
config/secrets.yml
@@ -11,6 +11,12 @@ @@ -11,6 +11,12 @@
11 # if you're sharing your code publicly. 11 # if you're sharing your code publicly.
12 12
13 development: 13 development:
  14 + admin_name: First User
  15 + admin_email: user@example.com
  16 + admin_password: changeme
  17 + email_provider_username: <%= ENV["GMAIL_USERNAME"] %>
  18 + email_provider_password: <%= ENV["GMAIL_PASSWORD"] %>
  19 + domain_name: example.com
14 secret_key_base: 59f3123227a531056f058c06f4c0ac40c072d8b23855c29ee6f4c8cf75176f0ef51cb18e2f41b52246fba93f360a7a2831fd910be24c8a527fb3253f72a54d4c 20 secret_key_base: 59f3123227a531056f058c06f4c0ac40c072d8b23855c29ee6f4c8cf75176f0ef51cb18e2f41b52246fba93f360a7a2831fd910be24c8a527fb3253f72a54d4c
15 21
16 test: 22 test:
@@ -19,4 +25,10 @@ test: @@ -19,4 +25,10 @@ test:
19 # Do not keep production secrets in the repository, 25 # Do not keep production secrets in the repository,
20 # instead read values from the environment. 26 # instead read values from the environment.
21 production: 27 production:
  28 + admin_name: <%= ENV["ADMIN_NAME"] %>
  29 + admin_email: <%= ENV["ADMIN_EMAIL"] %>
  30 + admin_password: <%= ENV["ADMIN_PASSWORD"] %>
  31 + email_provider_username: <%= ENV["GMAIL_USERNAME"] %>
  32 + email_provider_password: <%= ENV["GMAIL_PASSWORD"] %>
  33 + domain_name: <%= ENV["DOMAIN_NAME"] %>
22 secret_key_base: <%= ENV["SECRET_KEY_BASE"] %> 34 secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
@@ -5,3 +5,5 @@ @@ -5,3 +5,5 @@
5 # 5 #
6 # cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }]) 6 # cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }])
7 # Mayor.create(name: 'Emanuel', city: cities.first) 7 # Mayor.create(name: 'Emanuel', city: cities.first)
  8 +user = CreateAdminService.new.call
  9 +puts 'CREATED ADMIN USER: ' << user.email