diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2022-01-17 09:41:33 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-17 09:41:33 +0100 |
commit | 14f436c457560862fafabd753eb314c8b8a8e674 (patch) | |
tree | 905e62fd68c52efc9eec5b63d7170eee0c0c93a7 /app/models/account_warning.rb | |
parent | d5c9feb7b7fc489afbd0a287431fe07b42451ef0 (diff) |
Add notifications for statuses deleted by moderators (#17204)
Diffstat (limited to 'app/models/account_warning.rb')
-rw-r--r-- | app/models/account_warning.rb | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/app/models/account_warning.rb b/app/models/account_warning.rb index 5efc924d5..fc0d988fd 100644 --- a/app/models/account_warning.rb +++ b/app/models/account_warning.rb @@ -10,14 +10,30 @@ # text :text default(""), not null # created_at :datetime not null # updated_at :datetime not null +# report_id :bigint(8) +# status_ids :string is an Array # class AccountWarning < ApplicationRecord - enum action: %i(none disable sensitive silence suspend), _suffix: :action + enum action: { + none: 0, + disable: 1_000, + delete_statuses: 1_500, + sensitive: 2_000, + silence: 3_000, + suspend: 4_000, + }, _suffix: :action belongs_to :account, inverse_of: :account_warnings - belongs_to :target_account, class_name: 'Account', inverse_of: :targeted_account_warnings + belongs_to :target_account, class_name: 'Account', inverse_of: :strikes + belongs_to :report, optional: true - scope :latest, -> { order(created_at: :desc) } + has_one :appeal, dependent: :destroy + + scope :latest, -> { order(id: :desc) } scope :custom, -> { where.not(text: '') } + + def statuses + Status.with_discarded.where(id: status_ids || []) + end end |