namespace :cache do
  desc "Generate sidebar menu cache for each role"
  task generate_sidebar_cache: :environment do
    Role.find_each do |role|
      user = User.find_by(role: role)
      next unless user
      user.cache_sidebar
      puts "Cached sidebar menu for role: #{role.name}"
    end
  end

  desc "Clear the cache of each role"
  task clear_sidebar_cache: :environment do
    Role.find_each do |role|
      user = User.find_by(role: role)
      next unless user
      Rails.cache.delete("views/new_sidebar_menu/role_#{role.id}_#{user.is_super_admin}") if user.present?
      Rails.cache.delete("views/noc_sidebar_menu/role_#{role.id}_#{user.is_super_admin}") if user.present?
      puts "Cleared sidebar menu cache for role: #{role.name}" if user.present?
    end
  end
end