diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2019-08-22 21:55:56 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-22 21:55:56 +0200 |
commit | 282ea170782e4ce1ed5251a1b94857a512412397 (patch) | |
tree | 956b7b0b7df12b5b5091a3b3a0db611ad61963e2 /app/models/status.rb | |
parent | 5ab1e0e738183a0ddcec140d55184351f751b22d (diff) |
Add soft delete for statuses for instant deletes through API (#11623)
* Add soft delete for statuses to allow them to appear instant * Allow reporting soft-deleted statuses and show them in the admin UI * Change index for getting an account's statuses
Diffstat (limited to 'app/models/status.rb')
-rw-r--r-- | app/models/status.rb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/app/models/status.rb b/app/models/status.rb index 0538c4e9e..9cfaddcec 100644 --- a/app/models/status.rb +++ b/app/models/status.rb @@ -22,15 +22,19 @@ # application_id :bigint(8) # in_reply_to_account_id :bigint(8) # poll_id :bigint(8) +# deleted_at :datetime # class Status < ApplicationRecord before_destroy :unlink_from_conversations + include Discard::Model include Paginable include Cacheable include StatusThreadingConcern + self.discard_column = :deleted_at + # If `override_timestamps` is set at creation time, Snowflake ID creation # will be based on current time instead of `created_at` attr_accessor :override_timestamps @@ -72,7 +76,7 @@ class Status < ApplicationRecord accepts_nested_attributes_for :poll - default_scope { recent } + default_scope { recent.kept } scope :recent, -> { reorder(id: :desc) } scope :remote, -> { where(local: false).where.not(uri: nil) } |