GRN2-xx: Users, Room and Recordings are now no longer permanently deleted (#773)

* Bug fixes for 2.4

* Removed accidental code add

* Switched from deleting to tombstoning

* Fixed bug with login
This commit is contained in:
farhatahmad
2019-08-28 16:28:42 -04:00
committed by farhatahmad
parent 666231db6c
commit d3b669d552
10 changed files with 90 additions and 12 deletions

View File

@ -0,0 +1,45 @@
# frozen_string_literal: true
# BigBlueButton open source conferencing system - http://www.bigbluebutton.org/.
#
# Copyright (c) 2018 BigBlueButton Inc. and by respective authors (see below).
#
# This program is free software; you can redistribute it and/or modify it under the
# terms of the GNU Lesser General Public License as published by the Free Software
# Foundation; either version 3.0 of the License, or (at your option) any later
# version.
#
# BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License along
# with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
module Deleteable
extend ActiveSupport::Concern
included do
# By default don't include deleted
default_scope { where(deleted: false) }
scope :include_deleted, -> { unscope(where: :deleted) }
scope :deleted, -> { include_deleted.where(deleted: true) }
end
def destroy
run_callbacks :destroy
update_attribute(:deleted, true)
end
def delete
destroy
end
def undelete
assign_attributes(deleted: false)
end
def undelete!
update_attribute(:deleted, false)
end
end

View File

@ -19,6 +19,8 @@
require 'bbb_api'
class Room < ApplicationRecord
include Deleteable
before_create :setup
validates :name, presence: true

View File

@ -19,6 +19,8 @@
require 'bbb_api'
class User < ApplicationRecord
include Deleteable
attr_accessor :reset_token
after_create :setup_user