You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@answer.apache.org by sh...@apache.org on 2025/10/16 01:46:19 UTC
(answer) 05/06: refactor(tags): remove redundant param from GetMinimumTags and apply minimum tag check in ObjectChangeTag
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 <di...@gmail.com>
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
}