diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2022-02-25 00:34:14 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-25 00:34:14 +0100 |
commit | 27965ce5edff20db2de1dd233c88f8393bb0da0b (patch) | |
tree | 6714a950c1b9facc8c7bd1907e81e777257e5538 /app/models/form | |
parent | a29a982eaa0536a741b43ffb3397c74e3abe7196 (diff) |
Add trending statuses (#17431)
* Add trending statuses * Fix dangling items with stale scores in localized sets * Various fixes and improvements - Change approve_all/reject_all to approve_accounts/reject_accounts - Change Trends::Query methods to not mutate the original query - Change Trends::Query#skip to offset - Change follow recommendations to be refreshed in a transaction * Add tests for trending statuses filtering behaviour * Fix not applying filtering scope in controller
Diffstat (limited to 'app/models/form')
-rw-r--r-- | app/models/form/preview_card_batch.rb | 65 | ||||
-rw-r--r-- | app/models/form/preview_card_provider_batch.rb | 33 | ||||
-rw-r--r-- | app/models/form/tag_batch.rb | 37 |
3 files changed, 0 insertions, 135 deletions
diff --git a/app/models/form/preview_card_batch.rb b/app/models/form/preview_card_batch.rb deleted file mode 100644 index 5f6e6522a..000000000 --- a/app/models/form/preview_card_batch.rb +++ /dev/null @@ -1,65 +0,0 @@ -# frozen_string_literal: true - -class Form::PreviewCardBatch - include ActiveModel::Model - include Authorization - - attr_accessor :preview_card_ids, :action, :current_account, :precision - - def save - case action - when 'approve' - approve! - when 'approve_all' - approve_all! - when 'reject' - reject! - when 'reject_all' - reject_all! - end - end - - private - - def preview_cards - @preview_cards ||= PreviewCard.where(id: preview_card_ids) - end - - def preview_card_providers - @preview_card_providers ||= preview_cards.map(&:domain).uniq.map { |domain| PreviewCardProvider.matching_domain(domain) || PreviewCardProvider.new(domain: domain) } - end - - def approve! - preview_cards.each { |preview_card| authorize(preview_card, :update?) } - preview_cards.update_all(trendable: true) - end - - def approve_all! - preview_card_providers.each do |provider| - authorize(provider, :update?) - provider.update(trendable: true, reviewed_at: action_time) - end - - # Reset any individual overrides - preview_cards.update_all(trendable: nil) - end - - def reject! - preview_cards.each { |preview_card| authorize(preview_card, :update?) } - preview_cards.update_all(trendable: false) - end - - def reject_all! - preview_card_providers.each do |provider| - authorize(provider, :update?) - provider.update(trendable: false, reviewed_at: action_time) - end - - # Reset any individual overrides - preview_cards.update_all(trendable: nil) - end - - def action_time - @action_time ||= Time.now.utc - end -end diff --git a/app/models/form/preview_card_provider_batch.rb b/app/models/form/preview_card_provider_batch.rb deleted file mode 100644 index e6ab3d8fa..000000000 --- a/app/models/form/preview_card_provider_batch.rb +++ /dev/null @@ -1,33 +0,0 @@ -# frozen_string_literal: true - -class Form::PreviewCardProviderBatch - include ActiveModel::Model - include Authorization - - attr_accessor :preview_card_provider_ids, :action, :current_account - - def save - case action - when 'approve' - approve! - when 'reject' - reject! - end - end - - private - - def preview_card_providers - PreviewCardProvider.where(id: preview_card_provider_ids) - end - - def approve! - preview_card_providers.each { |provider| authorize(provider, :update?) } - preview_card_providers.update_all(trendable: true, reviewed_at: Time.now.utc) - end - - def reject! - preview_card_providers.each { |provider| authorize(provider, :update?) } - preview_card_providers.update_all(trendable: false, reviewed_at: Time.now.utc) - end -end diff --git a/app/models/form/tag_batch.rb b/app/models/form/tag_batch.rb deleted file mode 100644 index b9330745f..000000000 --- a/app/models/form/tag_batch.rb +++ /dev/null @@ -1,37 +0,0 @@ -# frozen_string_literal: true - -class Form::TagBatch - include ActiveModel::Model - include Authorization - - attr_accessor :tag_ids, :action, :current_account - - def save - case action - when 'approve' - approve! - when 'reject' - reject! - end - end - - private - - def tags - Tag.where(id: tag_ids) - end - - def approve! - tags.each { |tag| authorize(tag, :update?) } - tags.update_all(trendable: true, reviewed_at: action_time) - end - - def reject! - tags.each { |tag| authorize(tag, :update?) } - tags.update_all(trendable: false, reviewed_at: action_time) - end - - def action_time - @action_time ||= Time.now.utc - end -end |