forked from mirrors/catstodon
change reaction api to match other interactions
Status reactions had an API similar to that of announcement reactions, using PUT and DELETE at a single endpoint. I believe that for statuses, it makes more sense to follow the convention of the other interactions and use separate POST endpoints for create and destroy respectively.
This commit is contained in:
parent
935788db14
commit
e3f97f60a6
4 changed files with 8 additions and 6 deletions
|
@ -7,7 +7,7 @@ class Api::V1::Statuses::ReactionsController < Api::BaseController
|
|||
before_action :require_user!
|
||||
before_action :set_status
|
||||
|
||||
def update
|
||||
def create
|
||||
ReactService.new.call(current_account, @status, params[:id])
|
||||
render_empty
|
||||
end
|
||||
|
|
|
@ -416,7 +416,7 @@ export const addReaction = (statusId, name) => (dispatch, getState) => {
|
|||
dispatch(addReactionRequest(statusId, name, alreadyAdded));
|
||||
}
|
||||
|
||||
api(getState).put(`/api/v1/statuses/${statusId}/reactions/${name}`).then(() => {
|
||||
api(getState).post(`/api/v1/statuses/${statusId}/react/${name}`).then(() => {
|
||||
dispatch(addReactionSuccess(statusId, name, alreadyAdded));
|
||||
}).catch(err => {
|
||||
if (!alreadyAdded) {
|
||||
|
@ -450,7 +450,7 @@ export const addReactionFail = (statusId, name, error) => ({
|
|||
export const removeReaction = (statusId, name) => (dispatch, getState) => {
|
||||
dispatch(removeReactionRequest(statusId, name));
|
||||
|
||||
api(getState).delete(`/api/v1/statuses/${statusId}/reactions/${name}`).then(() => {
|
||||
api(getState).post(`/api/v1/statuses/${statusId}/unreact/${name}`).then(() => {
|
||||
dispatch(removeReactionSuccess(statusId, name));
|
||||
}).catch(err => {
|
||||
dispatch(removeReactionFail(statusId, name, err));
|
||||
|
|
|
@ -436,7 +436,7 @@ export const addReaction = (statusId, name) => (dispatch, getState) => {
|
|||
dispatch(addReactionRequest(statusId, name, alreadyAdded));
|
||||
}
|
||||
|
||||
api(getState).put(`/api/v1/statuses/${statusId}/reactions/${name}`).then(() => {
|
||||
api(getState).post(`/api/v1/statuses/${statusId}/react/${name}`).then(() => {
|
||||
dispatch(addReactionSuccess(statusId, name, alreadyAdded));
|
||||
}).catch(err => {
|
||||
if (!alreadyAdded) {
|
||||
|
@ -470,7 +470,7 @@ export const addReactionFail = (statusId, name, error) => ({
|
|||
export const removeReaction = (statusId, name) => (dispatch, getState) => {
|
||||
dispatch(removeReactionRequest(statusId, name));
|
||||
|
||||
api(getState).delete(`/api/v1/statuses/${statusId}/reactions/${name}`).then(() => {
|
||||
api(getState).post(`/api/v1/statuses/${statusId}/unreact/${name}`).then(() => {
|
||||
dispatch(removeReactionSuccess(statusId, name));
|
||||
}).catch(err => {
|
||||
dispatch(removeReactionFail(statusId, name, err));
|
||||
|
|
|
@ -442,6 +442,9 @@ Rails.application.routes.draw do
|
|||
resource :favourite, only: :create
|
||||
post :unfavourite, to: 'favourites#destroy'
|
||||
|
||||
post '/react/:id', to: 'reactions#create'
|
||||
post '/unreact/:id', to: 'reactions#destroy'
|
||||
|
||||
resource :bookmark, only: :create
|
||||
post :unbookmark, to: 'bookmarks#destroy'
|
||||
|
||||
|
@ -453,7 +456,6 @@ Rails.application.routes.draw do
|
|||
|
||||
resource :history, only: :show
|
||||
resource :source, only: :show
|
||||
resources :reactions, only: [:update, :destroy]
|
||||
|
||||
post :translate, to: 'translations#create'
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue