Fix api responses and add force_visibility

This commit is contained in:
KMY 2023-04-13 09:53:24 +09:00
parent 71917cab04
commit a4e8dcc3c4
4 changed files with 12 additions and 4 deletions

View file

@ -60,6 +60,7 @@ class Api::V1::StatusesController < Api::BaseController
spoiler_text: status_params[:spoiler_text],
markdown: status_params[:markdown],
visibility: status_params[:visibility],
force_visibility: status_params[:force_visibility],
searchability: status_params[:searchability],
language: status_params[:language],
scheduled_at: status_params[:scheduled_at],
@ -136,6 +137,7 @@ class Api::V1::StatusesController < Api::BaseController
:sensitive,
:spoiler_text,
:visibility,
:force_visibility,
:searchability,
:language,
:markdown,

View file

@ -97,10 +97,12 @@ class REST::InstanceSerializer < ActiveModel::Serializer
def fedibird_capabilities
capabilities = [
:emoji_reaction,
:visibility_public_unlisted,
:kmyblue_extra_media_attachments,
:kmyblue_visibility_public_unlisted,
:enable_wide_emoji,
:enable_wide_emoji_reaction,
:searchability,
:kmyblue_searchability,
:kmyblue_markdown,
]
capabilities << :profile_search unless Chewy.enabled?

View file

@ -107,9 +107,12 @@ class REST::V1::InstanceSerializer < ActiveModel::Serializer
def fedibird_capabilities
capabilities = [
:emoji_reaction,
:visibility_public_unlisted,
:kmyblue_extra_media_attachments,
:kmyblue_visibility_public_unlisted,
:enable_wide_emoji,
:enable_wide_emoji_reaction,
:kmyblue_searchability,
:kmyblue_markdown,
]
capabilities << :profile_search unless Chewy.enabled?

View file

@ -22,6 +22,7 @@ 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
@ -68,7 +69,7 @@ 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