Sha256: 00aa6947712cc8529810064570efafac4be4487ea9812aebbd0fc1cb4c97b0e4

Contents?: true

Size: 976 Bytes

Versions: 6

Compression:

Stored size: 976 Bytes

Contents

# frozen_string_literal: true

require 'sinatra/activerecord'
require 'sinatra/activerecord/rake'
require 'osso'

namespace :osso do
  desc 'Bootstrap Osso data for a deployment'
  task :bootstrap do
    %w[Production Staging Development].each do |environment|
      Osso::Models::OauthClient.create!(
        name: environment,
      ) unless Osso::Models::OauthClient.find_by_name(environment)
    end

    Osso::Models::AppConfig.create

    admin_email = ENV['ADMIN_EMAIL']

    if admin_email
      admin = Osso::Models::Account.create(
        email: admin_email,
        status_id: 1,
        role: 'admin',
      )

      base_uri = URI.parse(ENV['BASE_URL'])

      rodauth = Osso::Admin.rodauth.new(Osso::Admin.new({
        'HTTP_HOST' => base_uri.host,
        'SERVER_NAME' => base_uri.to_s,
        'rack.url_scheme' => base_uri.scheme
      }))

      account = rodauth.account_from_login(admin_email)
      rodauth.setup_account_verification
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
osso-0.0.11 lib/tasks/bootstrap.rake
osso-0.0.10 lib/tasks/bootstrap.rake
osso-0.0.8 lib/tasks/bootstrap.rake
osso-0.0.7 lib/tasks/bootstrap.rake
osso-0.0.6 lib/tasks/bootstrap.rake
osso-0.0.6.alpha lib/tasks/bootstrap.rake