attach_media should be in transaction of creation status (#2426)

This commit is contained in:
Keiji, Yoshimi 2017-04-26 10:47:44 +09:00 committed by Eugen Rochko
parent 8ee1af9530
commit 8fe36654ef
1 changed files with 11 additions and 9 deletions

View File

@ -20,15 +20,17 @@ class PostStatusService < BaseService
end
media = validate_media!(options[:media_ids])
status = account.statuses.create!(text: text,
thread: in_reply_to,
sensitive: options[:sensitive],
spoiler_text: options[:spoiler_text] || '',
visibility: options[:visibility],
language: detect_language_for(text, account),
application: options[:application])
attach_media(status, media)
status = nil
ApplicationRecord.transaction do
status = account.statuses.create!(text: text,
thread: in_reply_to,
sensitive: options[:sensitive],
spoiler_text: options[:spoiler_text] || '',
visibility: options[:visibility],
language: detect_language_for(text, account),
application: options[:application])
attach_media(status, media)
end
process_mentions_service.call(status)
process_hashtags_service.call(status)