Change emoji_reaction worker to service
This commit is contained in:
parent
ecce8edb84
commit
d416afd028
3 changed files with 4 additions and 23 deletions
|
@ -26,9 +26,9 @@ class Api::V1::Statuses::EmojiReactionsController < Api::BaseController
|
||||||
.find { |reaction| domain == '' ? reaction.custom_emoji.nil? : reaction.custom_emoji&.domain == domain }
|
.find { |reaction| domain == '' ? reaction.custom_emoji.nil? : reaction.custom_emoji&.domain == domain }
|
||||||
|
|
||||||
authorize @status, :show? if emoji_reaction.nil?
|
authorize @status, :show? if emoji_reaction.nil?
|
||||||
end
|
|
||||||
|
|
||||||
UnEmojiReactWorker.perform_async(current_account.id, @status.id, emoji)
|
UnEmojiReactService.new.call(current_account.id, @status.id, emoji_reaction) if emoji_reaction.present?
|
||||||
|
end
|
||||||
|
|
||||||
render json: @status, serializer: REST::StatusSerializer, relationships: StatusRelationshipsPresenter.new(
|
render json: @status, serializer: REST::StatusSerializer, relationships: StatusRelationshipsPresenter.new(
|
||||||
[@status], current_account.id, emoji_reactions_map: { @status.id => false }
|
[@status], current_account.id, emoji_reactions_map: { @status.id => false }
|
||||||
|
|
|
@ -226,9 +226,9 @@ export function unEmojiReact(status, emoji) {
|
||||||
return (dispatch, getState) => {
|
return (dispatch, getState) => {
|
||||||
dispatch(unEmojiReactRequest(status, emoji));
|
dispatch(unEmojiReactRequest(status, emoji));
|
||||||
|
|
||||||
api(getState).post(`/api/v1/statuses/${status.get('id')}/emoji_unreaction`, { emoji }).then(() => {
|
api(getState).post(`/api/v1/statuses/${status.get('id')}/emoji_unreaction`, { emoji }).then((response) => {
|
||||||
// TODO: do not update because this api has a bug
|
// TODO: do not update because this api has a bug
|
||||||
// dispatch(importFetchedStatus(response.data));
|
dispatch(importFetchedStatus(response.data));
|
||||||
dispatch(unEmojiReactSuccess(status, emoji));
|
dispatch(unEmojiReactSuccess(status, emoji));
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
dispatch(unEmojiReactFail(status, emoji, error));
|
dispatch(unEmojiReactFail(status, emoji, error));
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
class UnEmojiReactWorker
|
|
||||||
include Sidekiq::Worker
|
|
||||||
|
|
||||||
def perform(account_id, status_id, emoji = nil)
|
|
||||||
emoji_reaction = nil
|
|
||||||
|
|
||||||
if emoji
|
|
||||||
shortcode, domain = emoji.split('@')
|
|
||||||
emoji_reaction = EmojiReaction.where(account_id: account_id).where(status_id: status_id).where(name: shortcode)
|
|
||||||
.find { |reaction| domain == '' ? reaction.custom_emoji.nil? : reaction.custom_emoji&.domain == domain }
|
|
||||||
end
|
|
||||||
|
|
||||||
UnEmojiReactService.new.call(account_id.to_i, status_id.to_i, emoji_reaction)
|
|
||||||
rescue ActiveRecord::RecordNotFound
|
|
||||||
true
|
|
||||||
end
|
|
||||||
end
|
|
Loading…
Add table
Add a link
Reference in a new issue