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
df673abeea
commit
d38c56ab16
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));
|
||||
|
|
|
@ -451,6 +451,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'
|
||||
|
||||
|
@ -462,7 +465,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