Merge remote-tracking branch 'parent/main' into kb_migration

This commit is contained in:
KMY 2023-03-21 15:20:15 +09:00
commit 348a641eca
15 changed files with 75 additions and 59 deletions

View file

@ -123,6 +123,8 @@ class Account < ApplicationRecord
scope :not_excluded_by_account, ->(account) { where.not(id: account.excluded_from_timeline_account_ids) }
scope :not_domain_blocked_by_account, ->(account) { where(arel_table[:domain].eq(nil).or(arel_table[:domain].not_in(account.excluded_from_timeline_domains))) }
after_update_commit :trigger_update_webhooks
delegate :email,
:unconfirmed_email,
:current_sign_in_at,
@ -606,4 +608,9 @@ class Account < ApplicationRecord
CanonicalEmailBlock.where(reference_account: self).delete_all
end
# NOTE: the `account.created` webhook is triggered by the `User` model, not `Account`.
def trigger_update_webhooks
TriggerWebhookWorker.perform_async('account.updated', 'Account', id) if local?
end
end

View file

@ -116,6 +116,9 @@ class Status < ApplicationRecord
where('NOT EXISTS (SELECT * FROM statuses_tags forbidden WHERE forbidden.status_id = statuses.id AND forbidden.tag_id IN (?))', tag_ids)
}
after_create_commit :trigger_create_webhooks
after_update_commit :trigger_update_webhooks
cache_associated :application,
:media_attachments,
:conversation,
@ -572,4 +575,12 @@ class Status < ApplicationRecord
reblog&.decrement_count!(:reblogs_count) if reblog?
thread&.decrement_count!(:replies_count) if in_reply_to_id.present? && distributable?
end
def trigger_create_webhooks
TriggerWebhookWorker.perform_async('status.created', 'Status', id) if local?
end
def trigger_update_webhooks
TriggerWebhookWorker.perform_async('status.updated', 'Status', id) if local?
end
end

View file

@ -17,7 +17,10 @@ class Webhook < ApplicationRecord
EVENTS = %w(
account.approved
account.created
account.updated
report.created
status.created
status.updated
).freeze
scope :enabled, -> { where(enabled: true) }