diff --git a/internal/controller/answer_controller.go b/internal/controller/answer_controller.go index 53deb265..2b91d779 100644 --- a/internal/controller/answer_controller.go +++ b/internal/controller/answer_controller.go @@ -161,7 +161,7 @@ func (ac *AnswerController) Update(ctx *gin.Context) { canList, err := ac.rankService.CheckOperationPermissions(ctx, req.UserID, []string{ rank.AnswerEditRank, rank.AnswerEditWithoutReviewRank, - }, "") + }, req.ID) if err != nil { handler.HandleResponse(ctx, err, nil) return diff --git a/internal/service/rank/rank_service.go b/internal/service/rank/rank_service.go index 22bae247..88db3347 100644 --- a/internal/service/rank/rank_service.go +++ b/internal/service/rank/rank_service.go @@ -170,6 +170,10 @@ func (rs *RankService) CheckVotePermission(ctx context.Context, userID, objectID if !exist { return can, nil } + // administrator have all permissions + if userInfo.IsAdmin { + return true, nil + } objectInfo, err := rs.objectInfoService.GetInfo(ctx, objectID) if err != nil {