fix(reactions): use post to delete a reaction

This commit is contained in:
kolaente 2024-03-12 13:35:33 +01:00
parent 4518a01070
commit f7ba299ecf
Signed by: konrad
GPG Key ID: F40E70337AB24C9B
3 changed files with 9 additions and 3 deletions

View File

@ -3,13 +3,14 @@ import type {IAbstract} from '@/modelTypes/IAbstract'
import ReactionModel from '@/models/reaction'
import type {IReactionPerEntity} from '@/modelTypes/IReaction'
import UserModel from '@/models/user'
import type {Promise} from 'cypress/types/cy-bluebird'
export default class ReactionService extends AbstractService {
constructor() {
super({
getAll: '{kind}/{id}/reactions',
create: '{kind}/{id}/reactions',
delete: '{kind}/{id}/reactions',
delete: '{kind}/{id}/reactions/delete',
})
}
@ -24,4 +25,9 @@ export default class ReactionService extends AbstractService {
return data
}
async delete(model: IAbstract): Promise<any> {
const finalUrl = this.getReplacedRoute(this.paths.delete, model)
return super.post(finalUrl, model)
}
}

View File

@ -150,7 +150,7 @@ func getReactionsForEntityIDs(s *xorm.Session, entityKind ReactionKind, entityID
// @Success 200 {object} models.Message "The reaction was successfully removed."
// @Failure 403 {object} web.HTTPError "The user does not have access to the entity"
// @Failure 500 {object} models.Message "Internal error"
// @Router /{kind}/{id}/reactions [delete]
// @Router /{kind}/{id}/reactions/delete [post]
func (r *Reaction) Delete(s *xorm.Session, a web.Auth) (err error) {
r.UserID = a.GetID()

View File

@ -596,7 +596,7 @@ func registerAPIRoutes(a *echo.Group) {
},
}
a.GET("/:entitykind/:entityid/reactions", reactionProvider.ReadAllWeb)
a.DELETE("/:entitykind/:entityid/reactions", reactionProvider.DeleteWeb)
a.POST("/:entitykind/:entityid/reactions/delete", reactionProvider.DeleteWeb)
a.PUT("/:entitykind/:entityid/reactions", reactionProvider.CreateWeb)
}