Add ability to change content-type when editing a toot
Content-type defaults to edited toot's content-type to avoid surprising behaviors when using clients that do not support this feature.lolsob-rspec
parent
b7882a75d2
commit
d377c690a4
|
@ -66,7 +66,8 @@ class Api::V1::StatusesController < Api::BaseController
|
||||||
media_ids: status_params[:media_ids],
|
media_ids: status_params[:media_ids],
|
||||||
sensitive: status_params[:sensitive],
|
sensitive: status_params[:sensitive],
|
||||||
spoiler_text: status_params[:spoiler_text],
|
spoiler_text: status_params[:spoiler_text],
|
||||||
poll: status_params[:poll]
|
poll: status_params[:poll],
|
||||||
|
content_type: status_params[:content_type]
|
||||||
)
|
)
|
||||||
|
|
||||||
render json: @status, serializer: REST::StatusSerializer
|
render json: @status, serializer: REST::StatusSerializer
|
||||||
|
|
|
@ -221,6 +221,7 @@ class Status < ApplicationRecord
|
||||||
spoiler_text: spoiler_text,
|
spoiler_text: spoiler_text,
|
||||||
media_attachments_changed: media_attachments_changed,
|
media_attachments_changed: media_attachments_changed,
|
||||||
account_id: account_id || self.account_id,
|
account_id: account_id || self.account_id,
|
||||||
|
content_type: content_type,
|
||||||
created_at: at_time || edited_at
|
created_at: at_time || edited_at
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
|
@ -13,6 +13,7 @@ class UpdateStatusService < BaseService
|
||||||
# @option options [String] :spoiler_text
|
# @option options [String] :spoiler_text
|
||||||
# @option options [Boolean] :sensitive
|
# @option options [Boolean] :sensitive
|
||||||
# @option options [String] :language
|
# @option options [String] :language
|
||||||
|
# @option options [String] :content_type
|
||||||
def call(status, account_id, options = {})
|
def call(status, account_id, options = {})
|
||||||
@status = status
|
@status = status
|
||||||
@options = options
|
@options = options
|
||||||
|
@ -95,6 +96,7 @@ class UpdateStatusService < BaseService
|
||||||
@status.spoiler_text = @options[:spoiler_text] || ''
|
@status.spoiler_text = @options[:spoiler_text] || ''
|
||||||
@status.sensitive = @options[:sensitive] || @options[:spoiler_text].present?
|
@status.sensitive = @options[:sensitive] || @options[:spoiler_text].present?
|
||||||
@status.language = valid_locale_or_nil(@options[:language] || @status.language || @status.account.user&.preferred_posting_language || I18n.default_locale)
|
@status.language = valid_locale_or_nil(@options[:language] || @status.language || @status.account.user&.preferred_posting_language || I18n.default_locale)
|
||||||
|
@status.content_type = @options[:content_type] || @status.content_type
|
||||||
@status.edited_at = Time.now.utc
|
@status.edited_at = Time.now.utc
|
||||||
|
|
||||||
@status.save!
|
@status.save!
|
||||||
|
|
Loading…
Reference in New Issue