From fb4cee51b74c45b86d36c69a8b9ddd499b1e1851 Mon Sep 17 00:00:00 2001 From: 0xff-dev Date: Wed, 22 Nov 2023 21:08:20 +0800 Subject: [PATCH] chore: modify the file filter structure --- .../go-server/graph/generated/generated.go | 12 ++++++------ .../go-server/graph/generated/models_gen.go | 6 +++--- .../graph/schema/versioned_dataset.graphqls | 6 +++--- .../pkg/versioneddataset/versioned_dataset.go | 14 +++++++++----- 4 files changed, 21 insertions(+), 17 deletions(-) diff --git a/graphql-server/go-server/graph/generated/generated.go b/graphql-server/go-server/graph/generated/generated.go index afa3d670c..6d0f5b8c6 100644 --- a/graphql-server/go-server/graph/generated/generated.go +++ b/graphql-server/go-server/graph/generated/generated.go @@ -2521,13 +2521,13 @@ type F { """ input FileFilter { """根据关键词搜索文件,strings.Container(fileName, keyword)""" - keyword: String! + keyword: String """页""" - page: Int! + page: Int """页内容数量""" - pageSize: Int! + pageSize: Int """根据文件名字或者更新时间排序, file, time""" sortBy: String @@ -13865,7 +13865,7 @@ func (ec *executionContext) unmarshalInputFileFilter(ctx context.Context, obj in var err error ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("keyword")) - data, err := ec.unmarshalNString2string(ctx, v) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) if err != nil { return it, err } @@ -13874,7 +13874,7 @@ func (ec *executionContext) unmarshalInputFileFilter(ctx context.Context, obj in var err error ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("page")) - data, err := ec.unmarshalNInt2int(ctx, v) + data, err := ec.unmarshalOInt2ᚖint(ctx, v) if err != nil { return it, err } @@ -13883,7 +13883,7 @@ func (ec *executionContext) unmarshalInputFileFilter(ctx context.Context, obj in var err error ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("pageSize")) - data, err := ec.unmarshalNInt2int(ctx, v) + data, err := ec.unmarshalOInt2ᚖint(ctx, v) if err != nil { return it, err } diff --git a/graphql-server/go-server/graph/generated/models_gen.go b/graphql-server/go-server/graph/generated/models_gen.go index 4e63f46ee..20cde49e5 100644 --- a/graphql-server/go-server/graph/generated/models_gen.go +++ b/graphql-server/go-server/graph/generated/models_gen.go @@ -352,11 +352,11 @@ func (F) IsPageNode() {} // 根据条件顾虑版本内的文件,只支持关键词搜索 type FileFilter struct { // 根据关键词搜索文件,strings.Container(fileName, keyword) - Keyword string `json:"keyword"` + Keyword *string `json:"keyword,omitempty"` // 页 - Page int `json:"page"` + Page *int `json:"page,omitempty"` // 页内容数量 - PageSize int `json:"pageSize"` + PageSize *int `json:"pageSize,omitempty"` // 根据文件名字或者更新时间排序, file, time SortBy *string `json:"sortBy,omitempty"` } diff --git a/graphql-server/go-server/graph/schema/versioned_dataset.graphqls b/graphql-server/go-server/graph/schema/versioned_dataset.graphqls index e113b0b6f..6a48e1bb2 100644 --- a/graphql-server/go-server/graph/schema/versioned_dataset.graphqls +++ b/graphql-server/go-server/graph/schema/versioned_dataset.graphqls @@ -72,13 +72,13 @@ type F { """ input FileFilter { """根据关键词搜索文件,strings.Container(fileName, keyword)""" - keyword: String! + keyword: String """页""" - page: Int! + page: Int """页内容数量""" - pageSize: Int! + pageSize: Int """根据文件名字或者更新时间排序, file, time""" sortBy: String diff --git a/graphql-server/go-server/pkg/versioneddataset/versioned_dataset.go b/graphql-server/go-server/pkg/versioneddataset/versioned_dataset.go index 03d30fc85..df8bc2190 100644 --- a/graphql-server/go-server/pkg/versioneddataset/versioned_dataset.go +++ b/graphql-server/go-server/pkg/versioneddataset/versioned_dataset.go @@ -100,10 +100,14 @@ func VersionFiles(ctx context.Context, c dynamic.Interface, input *generated.Ver if err != nil { return nil, err } + keyword := "" + if filter != nil && filter.Keyword != nil { + keyword = *filter.Keyword + } objectInfoList := minioutils.ListObjectCompleteInfo(ctx, input.Namespace, prefix, minioClient, -1) result := make([]generated.PageNode, 0) for _, obj := range objectInfoList { - if filter.Keyword != "" && strings.Contains(obj.Key, filter.Keyword) { + if keyword != "" && strings.Contains(obj.Key, keyword) { result = append(result, generated.F{ Path: obj.Key, FileType: obj.ContentType, @@ -113,11 +117,11 @@ func VersionFiles(ctx context.Context, c dynamic.Interface, input *generated.Ver } } page, size := 1, 10 - if filter.Page > 0 { - page = filter.Page + if filter != nil && filter.Page != nil && *filter.Page > 0 { + page = *filter.Page } - if filter.PageSize > 0 { - size = filter.PageSize + if filter != nil && filter.PageSize != nil && *filter.PageSize > 0 { + size = *filter.PageSize } total := len(result)