This is an automated email from the ASF dual-hosted git repository.

shuai pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/answer.git

commit 9b65fed9f07809a781335797492a8b4187f93846
Author: Dinesht04 <[email protected]>
AuthorDate: Tue Oct 14 22:13:00 2025 +0530

    refactor(tags): remove redundant param from GetMinimumTags and apply 
minimum tag check in ObjectChangeTag
---
 internal/service/content/question_service.go | 10 +++++++---
 internal/service/content/revision_service.go |  6 +++++-
 internal/service/tag_common/tag_common.go    |  7 ++++---
 3 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/internal/service/content/question_service.go 
b/internal/service/content/question_service.go
index 39342313..cde81ce1 100644
--- a/internal/service/content/question_service.go
+++ b/internal/service/content/question_service.go
@@ -229,7 +229,7 @@ func (qs *QuestionService) AddQuestionCheckTags(ctx 
context.Context, Tags []*ent
        return []string{}, nil
 }
 func (qs *QuestionService) CheckAddQuestion(ctx context.Context, req 
*schema.QuestionAdd) (errorlist any, err error) {
-       minimumTags, err := qs.tagCommon.GetMinimumTags(ctx, req.Tags)
+       minimumTags, err := qs.tagCommon.GetMinimumTags(ctx)
        if err != nil {
                return
        }
@@ -288,7 +288,7 @@ func (qs *QuestionService) HasNewTag(ctx context.Context, 
tags []*schema.TagItem
 
 // AddQuestion add question
 func (qs *QuestionService) AddQuestion(ctx context.Context, req 
*schema.QuestionAdd) (questionInfo any, err error) {
-       minimumTags, err := qs.tagCommon.GetMinimumTags(ctx, req.Tags)
+       minimumTags, err := qs.tagCommon.GetMinimumTags(ctx)
        if err != nil {
                return
        }
@@ -1111,7 +1111,11 @@ func (qs *QuestionService) InviteUserInfo(ctx 
context.Context, questionID string
 }
 
 func (qs *QuestionService) ChangeTag(ctx context.Context, objectTagData 
*schema.TagChange) error {
-       return qs.tagCommon.ObjectChangeTag(ctx, objectTagData)
+       minimumTags, err := qs.tagCommon.GetMinimumTags(ctx)
+       if err != nil {
+               return err
+       }
+       return qs.tagCommon.ObjectChangeTag(ctx, objectTagData, minimumTags)
 }
 
 func (qs *QuestionService) CheckChangeReservedTag(ctx context.Context, 
oldobjectTagData, objectTagData []*entity.Tag) (bool, bool, []string, []string) 
{
diff --git a/internal/service/content/revision_service.go 
b/internal/service/content/revision_service.go
index effc012b..12ef7251 100644
--- a/internal/service/content/revision_service.go
+++ b/internal/service/content/revision_service.go
@@ -214,7 +214,11 @@ func (rs *RevisionService) revisionAuditQuestion(ctx 
context.Context, revisionit
                objectTagData := schema.TagChange{}
                objectTagData.ObjectID = question.ID
                objectTagData.Tags = objectTagTags
-               saveerr = rs.tagCommon.ObjectChangeTag(ctx, &objectTagData)
+               minimumTags, err := rs.tagCommon.GetMinimumTags(ctx)
+               if err != nil {
+                       return err
+               }
+               saveerr = rs.tagCommon.ObjectChangeTag(ctx, &objectTagData, 
minimumTags)
                if saveerr != nil {
                        return saveerr
                }
diff --git a/internal/service/tag_common/tag_common.go 
b/internal/service/tag_common/tag_common.go
index 58f16214..47bc1d26 100644
--- a/internal/service/tag_common/tag_common.go
+++ b/internal/service/tag_common/tag_common.go
@@ -292,7 +292,7 @@ func (ts *TagCommonService) ExistRecommend(ctx 
context.Context, tags []*schema.T
        return false, nil
 }
 
-func (ts *TagCommonService) GetMinimumTags(ctx context.Context, tags 
[]*schema.TagItem) (int, error) {
+func (ts *TagCommonService) GetMinimumTags(ctx context.Context) (int, error) {
        siteInfo, err := ts.siteInfoService.GetSiteWrite(ctx)
        if err != nil {
                return 1, err
@@ -657,8 +657,9 @@ func (ts *TagCommonService) CheckChangeReservedTag(ctx 
context.Context, oldobjec
 }
 
 // ObjectChangeTag change object tag list
-func (ts *TagCommonService) ObjectChangeTag(ctx context.Context, objectTagData 
*schema.TagChange) (err error) {
-       if len(objectTagData.Tags) == 0 {
+func (ts *TagCommonService) ObjectChangeTag(ctx context.Context, objectTagData 
*schema.TagChange, minimumTags int) (err error) {
+       //checks if the tags sent in the put req are less than the minimum, if 
so, tag changes are not applied
+       if len(objectTagData.Tags) < minimumTags {
                return nil
        }
 

Reply via email to