catstodon/app/controllers/api/v1/statuses/reactions_controller.rb
Essem ae854b8027
Port three new emoji reaction PR commits to Catstodon:
"Update reaction emails

Reaction icon made by @t3rminus@calamity.world"

"Simplify reactions API controller"

"Refactor status reactions query

This was done to announcement reactions in 1b0cb3b54d. Might as well do it here too."
2024-01-28 02:22:43 +01:00

19 lines
697 B
Ruby

# frozen_string_literal: true
class Api::V1::Statuses::ReactionsController < Api::V1::Statuses::BaseController
before_action -> { doorkeeper_authorize! :write, :'write:favourites' }
before_action :require_user!
def create
ReactService.new.call(current_account, @status, params[:id])
render json: @status, serializer: REST::StatusSerializer
end
def destroy
UnreactWorker.perform_async(current_account.id, @status.id, params[:id])
render json: @status, serializer: REST::StatusSerializer, relationships: StatusRelationshipsPresenter.new([@status], current_account.id, reactions_map: { @status.id => false })
rescue Mastodon::NotPermittedError
not_found
end
end