From d416afd02869517281a36ba19cbc43ea45a5f079 Mon Sep 17 00:00:00 2001 From: KMY Date: Mon, 15 May 2023 18:04:54 +0900 Subject: [PATCH] Change emoji_reaction worker to service --- .../v1/statuses/emoji_reactions_controller.rb | 4 ++-- .../mastodon/actions/interactions.js | 4 ++-- app/workers/un_emoji_react_worker.rb | 19 ------------------- 3 files changed, 4 insertions(+), 23 deletions(-) delete mode 100644 app/workers/un_emoji_react_worker.rb diff --git a/app/controllers/api/v1/statuses/emoji_reactions_controller.rb b/app/controllers/api/v1/statuses/emoji_reactions_controller.rb index 9cddeda242..a86f1d394b 100644 --- a/app/controllers/api/v1/statuses/emoji_reactions_controller.rb +++ b/app/controllers/api/v1/statuses/emoji_reactions_controller.rb @@ -26,9 +26,9 @@ class Api::V1::Statuses::EmojiReactionsController < Api::BaseController .find { |reaction| domain == '' ? reaction.custom_emoji.nil? : reaction.custom_emoji&.domain == domain } 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( [@status], current_account.id, emoji_reactions_map: { @status.id => false } diff --git a/app/javascript/mastodon/actions/interactions.js b/app/javascript/mastodon/actions/interactions.js index fd80327833..139119c4c2 100644 --- a/app/javascript/mastodon/actions/interactions.js +++ b/app/javascript/mastodon/actions/interactions.js @@ -226,9 +226,9 @@ export function unEmojiReact(status, emoji) { return (dispatch, getState) => { 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 - // dispatch(importFetchedStatus(response.data)); + dispatch(importFetchedStatus(response.data)); dispatch(unEmojiReactSuccess(status, emoji)); }).catch(error => { dispatch(unEmojiReactFail(status, emoji, error)); diff --git a/app/workers/un_emoji_react_worker.rb b/app/workers/un_emoji_react_worker.rb deleted file mode 100644 index fce8019fb6..0000000000 --- a/app/workers/un_emoji_react_worker.rb +++ /dev/null @@ -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