forked from External/greenlight
GRN2-xx: Switch the relation between users and roles to make queries cleaner and faster (#1299)
* First steps * Fixes in account creation flow * Fixed most testcases * more test fixes * Fixed more test cases * Passing tests and rubocop * Added rake task to remove rooms
This commit is contained in:
27
lib/tasks/room.rake
Normal file
27
lib/tasks/room.rake
Normal file
@ -0,0 +1,27 @@
|
||||
# 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
|
@ -38,9 +38,9 @@ namespace :user do
|
||||
|
||||
if u[:role] == "super_admin"
|
||||
user.remove_role(:user)
|
||||
user.add_role(:super_admin)
|
||||
user.set_role(:super_admin)
|
||||
elsif u[:role] == "admin"
|
||||
user.add_role(:admin)
|
||||
user.set_role(:admin)
|
||||
end
|
||||
|
||||
puts "Account succesfully created."
|
||||
|
Reference in New Issue
Block a user