greenlight/lib/tasks/administrator.rake

35 lines
1.1 KiB
Ruby

# frozen_string_literal: true
require 'bigbluebutton_api'
namespace :admin do
desc "Creates an administrator account"
task :create, [:name, :email, :password, :role] => :environment do |_task, args|
u = {
name: args[:name] || 'Administrator',
password: args[:password] || Rails.configuration.admin_password_default,
email: args[:email] || 'admin@example.com',
}
u[:email].prepend "superadmin-" if args[:role] == "super_admin"
admin = User.find_by(email: u[:email])
# Create administrator account if it doesn't exist
unless admin
admin = User.create(name: u[:name], email: u[:email], password: u[:password],
password_confirmation: u[:password], provider: 'greenlight', email_verified: true)
if args[:role] == "super_admin"
admin.remove_role(:user)
admin.add_role(:super_admin)
else
admin.add_role(:admin)
end
end
puts "Administrator account succesfully created."
puts "Email: #{u[:email]}"
puts "Password: #{u[:password]}"
puts "PLEASE CHANGE YOUR PASSWORD IMMEDIATELY" if u[:password] == Rails.configuration.admin_password_default
end
end