mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-05-25 11:22:16 +00:00
[API] Add Reactions (#9220)
* reject reactions wich ar not allowed * dont duble check CreateReaction now throw ErrForbiddenIssueReaction * add /repos/{owner}/{repo}/issues/comments/{id}/reactions endpoint * add Find Functions * fix some swagger stuff + add issue reaction endpoints + GET ReactionList now use FindReactions... * explicite Issue Only Reaction for FindReactionsOptions with "-1" commentID * load issue; load user ... * return error again * swagger def canged after LINT * check if user has ben loaded * add Tests * better way of comparing results * add suggestion * use different issue for test (dont interfear with integration test) * test dont compare Location on timeCompare * TEST: add forbidden dubble add * add comments in code to explain * add settings.UI.ReactionsMap so if !setting.UI.ReactionsMap[opts.Type] works
This commit is contained in:
parent
ee7df7ba8c
commit
37e10d4543
12 changed files with 1048 additions and 31 deletions
|
@ -1463,14 +1463,12 @@ func ChangeIssueReaction(ctx *context.Context, form auth.ReactionForm) {
|
|||
|
||||
switch ctx.Params(":action") {
|
||||
case "react":
|
||||
if !util.IsStringInSlice(form.Content, setting.UI.Reactions) {
|
||||
err := fmt.Errorf("ChangeIssueReaction: '%s' is not an allowed reaction", form.Content)
|
||||
ctx.ServerError(err.Error(), err)
|
||||
return
|
||||
}
|
||||
|
||||
reaction, err := models.CreateIssueReaction(ctx.User, issue, form.Content)
|
||||
if err != nil {
|
||||
if models.IsErrForbiddenIssueReaction(err) {
|
||||
ctx.ServerError("ChangeIssueReaction", err)
|
||||
return
|
||||
}
|
||||
log.Info("CreateIssueReaction: %s", err)
|
||||
break
|
||||
}
|
||||
|
@ -1564,14 +1562,12 @@ func ChangeCommentReaction(ctx *context.Context, form auth.ReactionForm) {
|
|||
|
||||
switch ctx.Params(":action") {
|
||||
case "react":
|
||||
if !util.IsStringInSlice(form.Content, setting.UI.Reactions) {
|
||||
err := fmt.Errorf("ChangeIssueReaction: '%s' is not an allowed reaction", form.Content)
|
||||
ctx.ServerError(err.Error(), err)
|
||||
return
|
||||
}
|
||||
|
||||
reaction, err := models.CreateCommentReaction(ctx.User, comment.Issue, comment, form.Content)
|
||||
if err != nil {
|
||||
if models.IsErrForbiddenIssueReaction(err) {
|
||||
ctx.ServerError("ChangeIssueReaction", err)
|
||||
return
|
||||
}
|
||||
log.Info("CreateCommentReaction: %s", err)
|
||||
break
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue