1
0
Fork 0
mirror of https://github.com/anyproto/anytype-heart.git synced 2025-06-10 01:51:07 +09:00

GO-3905: fix makefilter signature

Signed-off-by: AnastasiaShemyakinskaya <shem98a@mail.ru>
This commit is contained in:
AnastasiaShemyakinskaya 2024-08-13 12:40:29 +02:00
parent fd8fd24487
commit a88c91aa9e
No known key found for this signature in database
GPG key ID: CCD60ED83B103281
3 changed files with 11 additions and 11 deletions

View file

@ -12,8 +12,8 @@ import (
mb2 "github.com/cheggaaa/mb/v3"
"github.com/globalsign/mgo/bson"
"github.com/gogo/protobuf/types"
"golang.org/x/exp/slices"
"github.com/valyala/fastjson"
"golang.org/x/exp/slices"
"github.com/anyproto/anytype-heart/core/domain"
@ -648,11 +648,11 @@ func (s *service) filtersFromSource(sources []string) (database.Filter, error) {
}
if len(typeUniqueKeys) > 0 {
nestedFiler, err := database.MakeFilter(&model.BlockContentDataviewFilter{
nestedFiler, err := database.MakeFilter("", &model.BlockContentDataviewFilter{
RelationKey: database.NestedRelationKey(bundle.RelationKeyType, bundle.RelationKeyUniqueKey),
Condition: model.BlockContentDataviewFilter_In,
Value: pbtypes.StringList(typeUniqueKeys),
}, s.objectStore, "")
}, s.objectStore)
if err != nil {
return nil, fmt.Errorf("make nested filter: %w", err)
}

View file

@ -27,21 +27,21 @@ func MakeFilters(protoFilters []*model.BlockContentDataviewFilter, store ObjectS
spaceId := getSpaceIDFromFilters(protoFilters)
// to avoid unnecessary nested filter
if len(protoFilters) == 1 && len(protoFilters[0].NestedFilters) > 0 && protoFilters[0].Operator != model.BlockContentDataviewFilter_No {
return MakeFilter(protoFilters[0], store, spaceId)
return MakeFilter(spaceId, protoFilters[0], store)
}
return MakeFilter(&model.BlockContentDataviewFilter{
return MakeFilter(spaceId, &model.BlockContentDataviewFilter{
Operator: model.BlockContentDataviewFilter_And,
NestedFilters: protoFilters,
}, store, spaceId)
}, store)
}
func MakeFilter(protoFilter *model.BlockContentDataviewFilter, store ObjectStore, spaceId string) (Filter, error) {
func MakeFilter(spaceId string, protoFilter *model.BlockContentDataviewFilter, store ObjectStore) (Filter, error) {
if protoFilter.Operator == model.BlockContentDataviewFilter_No {
return makeFilter(spaceId, protoFilter, store)
}
filters := make([]Filter, 0, len(protoFilter.NestedFilters))
for _, nestedFilter := range protoFilter.NestedFilters {
filter, err := MakeFilter(nestedFilter, store, spaceId)
filter, err := MakeFilter(spaceId, nestedFilter, store)
if err != nil {
return nil, err
}
@ -691,7 +691,7 @@ var _ WithNestedFilter = &FilterNestedIn{}
func makeFilterNestedIn(spaceID string, rawFilter *model.BlockContentDataviewFilter, store ObjectStore, relationKey string, nestedRelationKey string) (Filter, error) {
rawNestedFilter := proto.Clone(rawFilter).(*model.BlockContentDataviewFilter)
rawNestedFilter.RelationKey = nestedRelationKey
nestedFilter, err := MakeFilter(rawNestedFilter, store, spaceID)
nestedFilter, err := MakeFilter(spaceID, rawNestedFilter, store)
if err != nil {
return nil, fmt.Errorf("make nested filter %s -> %s: %w", relationKey, nestedRelationKey, err)
}

View file

@ -454,11 +454,11 @@ func TestNestedFilters(t *testing.T) {
},
}, nil)
f, err := MakeFilter(&model.BlockContentDataviewFilter{
f, err := MakeFilter("spaceId", &model.BlockContentDataviewFilter{
RelationKey: "type.typeKey",
Condition: model.BlockContentDataviewFilter_Equal,
Value: pbtypes.String("note"),
}, store, "spaceId")
}, store)
require.NoError(t, err)
obj1 := &types.Struct{Fields: map[string]*types.Value{"type": pbtypes.String("id1")}}