Merge commit 'fac734b6a8' into kb_migration

This commit is contained in:
KMY 2023-04-13 18:57:03 +09:00
commit 5a661415e2
22 changed files with 121 additions and 14 deletions

View file

@ -22,8 +22,10 @@ class PostStatusService < BaseService
# @option [Status] :thread Optional status to reply to
# @option [Boolean] :sensitive
# @option [String] :visibility
# @option [Boolean] :force_visibility
# @option [String] :searchability
# @option [String] :spoiler_text
# @option [Boolean] :markdown
# @option [String] :language
# @option [String] :scheduled_at
# @option [Hash] :poll Optional poll to attach
@ -67,8 +69,9 @@ class PostStatusService < BaseService
@text = @options.delete(:spoiler_text) if @text.blank? && @options[:spoiler_text].present?
@visibility = @options[:visibility] || @account.user&.setting_default_privacy
@visibility = :unlisted if (@visibility&.to_sym == :public || @visibility&.to_sym == :public_unlisted) && @account.silenced?
@visibility = :public_unlisted if @visibility&.to_sym == :public && !@options[:application]&.superapp && @account.user&.setting_public_post_to_unlisted
@visibility = :public_unlisted if @visibility&.to_sym == :public && !@options[:force_visibility] && !@options[:application]&.superapp && @account.user&.setting_public_post_to_unlisted
@searchability= searchability
@markdown = !!@options[:markdown]
@scheduled_at = @options[:scheduled_at]&.to_datetime
@scheduled_at = nil if scheduled_in_the_past?
rescue ArgumentError
@ -214,6 +217,7 @@ class PostStatusService < BaseService
poll_attributes: poll_attributes,
sensitive: @sensitive,
spoiler_text: @options[:spoiler_text] || '',
markdown: @markdown,
visibility: @visibility,
searchability: @searchability,
language: valid_locale_cascade(@options[:language], @account.user&.preferred_posting_language, I18n.default_locale),

View file

@ -15,6 +15,7 @@ class UpdateStatusService < BaseService
# @option options [String] :text
# @option options [String] :spoiler_text
# @option options [Boolean] :sensitive
# @option options [Boolean] :markdown
# @option options [String] :language
def call(status, account_id, options = {})
@status = status
@ -112,6 +113,7 @@ class UpdateStatusService < BaseService
def update_immediate_attributes!
@status.text = @options[:text].presence || @options.delete(:spoiler_text) || '' if @options.key?(:text)
@status.spoiler_text = @options[:spoiler_text] || '' if @options.key?(:spoiler_text)
@status.markdown = !!@options[:markdown]
@status.sensitive = @options[:sensitive] || @options[:spoiler_text].present? if @options.key?(:sensitive) || @options.key?(:spoiler_text)
@status.language = valid_locale_cascade(@options[:language], @status.language, @status.account.user&.preferred_posting_language, I18n.default_locale)