Bläddra i källkod

Refactor domain_blocks_controller (#2843)

* Set domain_block by before_action

* Cast value with ActiveRecord::Type

* Batch update
master
alpaca-tc 7 år sedan
committed by Eugen Rochko
förälder
incheckning
a0b1951791
3 ändrade filer med 13 tillägg och 8 borttagningar
  1. +8
    -5
      app/controllers/admin/domain_blocks_controller.rb
  2. +1
    -1
      app/services/block_domain_service.rb
  3. +4
    -2
      app/services/unblock_domain_service.rb

+ 8
- 5
app/controllers/admin/domain_blocks_controller.rb Visa fil

@@ -2,6 +2,8 @@


module Admin module Admin
class DomainBlocksController < BaseController class DomainBlocksController < BaseController
before_action :set_domain_block, only: [:show, :destroy]

def index def index
@domain_blocks = DomainBlock.page(params[:page]) @domain_blocks = DomainBlock.page(params[:page])
end end
@@ -21,24 +23,25 @@ module Admin
end end
end end


def show
@domain_block = DomainBlock.find(params[:id])
end
def show; end


def destroy def destroy
@domain_block = DomainBlock.find(params[:id])
UnblockDomainService.new.call(@domain_block, retroactive_unblock?) UnblockDomainService.new.call(@domain_block, retroactive_unblock?)
redirect_to admin_domain_blocks_path, notice: I18n.t('admin.domain_blocks.destroyed_msg') redirect_to admin_domain_blocks_path, notice: I18n.t('admin.domain_blocks.destroyed_msg')
end end


private private


def set_domain_block
@domain_block = DomainBlock.find(params[:id])
end

def resource_params def resource_params
params.require(:domain_block).permit(:domain, :severity, :reject_media, :retroactive) params.require(:domain_block).permit(:domain, :severity, :reject_media, :retroactive)
end end


def retroactive_unblock? def retroactive_unblock?
resource_params[:retroactive] == '1'
ActiveRecord::Type.lookup(:boolean).cast(resource_params[:retroactive])
end end
end end
end end

+ 1
- 1
app/services/block_domain_service.rb Visa fil

@@ -19,7 +19,7 @@ class BlockDomainService < BaseService
end end


def silence_accounts! def silence_accounts!
blocked_domain_accounts.update_all(silenced: true)
blocked_domain_accounts.in_batches.update_all(silenced: true)
clear_media! if domain_block.reject_media? clear_media! if domain_block.reject_media?
end end




+ 4
- 2
app/services/unblock_domain_service.rb Visa fil

@@ -3,10 +3,12 @@
class UnblockDomainService < BaseService class UnblockDomainService < BaseService
def call(domain_block, retroactive) def call(domain_block, retroactive)
if retroactive if retroactive
accounts = Account.where(domain: domain_block.domain).in_batches

if domain_block.silence? if domain_block.silence?
Account.where(domain: domain_block.domain).update_all(silenced: false)
accounts.update_all(silenced: false)
else else
Account.where(domain: domain_block.domain).update_all(suspended: false)
accounts.update_all(suspended: false)
end end
end end




Laddar…
Avbryt
Spara