forked from External/greenlight
28 lines
783 B
Ruby
28 lines
783 B
Ruby
# frozen_string_literal: true
|
|
|
|
require 'bigbluebutton_api'
|
|
|
|
namespace :room do
|
|
desc "Removes all rooms for users that can't create rooms"
|
|
task :remove, [:include_used] => :environment do |_task, args|
|
|
roles = Role.where(role_permissions: { name: "can_create_rooms", value: "false" }).pluck(:name)
|
|
users = User.with_role(roles)
|
|
users.each do |user|
|
|
puts "Destroying #{user.uid} rooms"
|
|
user.rooms.each do |room|
|
|
if room.sessions.positive? && args[:include_used] != "true"
|
|
puts "Skipping room #{room.uid}"
|
|
next
|
|
end
|
|
|
|
begin
|
|
room.destroy(true)
|
|
puts "Destroying room #{room.uid}"
|
|
rescue => e
|
|
puts "Failed to remove room #{room.uid} - #{e}"
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|