Sha256: ef3ed2aac6f9620049134316465ede02bdd9957ecbb119a1759b8ac813ee5943

Contents?: true

Size: 1.2 KB

Versions: 11

Compression:

Stored size: 1.2 KB

Contents

namespace :adeia do

  desc "Create the elements and a group with all the privileges"
  task permissions: :environment do
    elements =  %w(adeia/permissions adeia/tokens adeia/groups)
    elements.concat(ENV["elements"].split(",").map { |e| e.strip }) if ENV["elements"].present?
    owner = Adeia::Group.find_or_create_by!(name: "superadmin")
    elements.each do |element|
      Adeia::Permission.find_or_add_by!(owner: owner, element: element, full: true)
    end
  end

  desc "Add an user to the group with all the privileges"
  task superuser: :environment do
    errors = []
    errors << "Please provide an `user_id`: `rake adeia:superuser user_id=1`" unless ENV["user_id"].present?
    group = Adeia::Group.find_by_name("superadmin")
    errors << "Please first run `rake adeia:permissions`" if group.nil?
    if errors.empty?
      Adeia::GroupUser.create!(user_id: ENV["user_id"], adeia_group_id: group.id)
    else
      errors.each { |message| puts message }
    end
  end

  desc "Create groups"
  task groups: :environment do
    groups = ENV["groups"].split(",").map { |e| e.strip } if ENV["groups"].present?
    if groups.present?
      groups.each { |group| Adeia::Group.create!(name: group) }
    end
  end

end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
adeia-0.12.0 lib/tasks/init.rake
adeia-0.11.11 lib/tasks/init.rake
adeia-0.11.10 lib/tasks/init.rake
adeia-0.11.9 lib/tasks/init.rake
adeia-0.11.8 lib/tasks/init.rake
adeia-0.11.7 lib/tasks/init.rake
adeia-0.11.6 lib/tasks/init.rake
adeia-0.11.5 lib/tasks/init.rake
adeia-0.11.4 lib/tasks/init.rake
adeia-0.11.3 lib/tasks/init.rake
adeia-0.11.2 lib/tasks/init.rake