Fix label handling (broken after store refactor)
This commit is contained in:
@@ -74,6 +74,17 @@ resources: {
|
||||
value: {}
|
||||
}
|
||||
|
||||
filter: {
|
||||
expIdent: "LabelFilter"
|
||||
struct: {
|
||||
kind: {}
|
||||
rel_resource: { goType: "[]uint64", ident: "resourceID" }
|
||||
limit: { goType: "uint" }
|
||||
}
|
||||
|
||||
byValue: ["kind" , "rel_resource", ]
|
||||
}
|
||||
|
||||
store: {
|
||||
api: {
|
||||
lookups: [
|
||||
|
||||
@@ -158,9 +158,6 @@ func Create(ctx context.Context, s store.Labels, r LabeledResource) error {
|
||||
|
||||
// Update updates or creates all labels on labeled resource and removes all non explicitly defined
|
||||
func Update(ctx context.Context, s store.Labels, r LabeledResource) error {
|
||||
// @tmp
|
||||
return nil
|
||||
|
||||
var (
|
||||
err error
|
||||
labels = r.GetLabels()
|
||||
|
||||
@@ -11,6 +11,7 @@ import (
|
||||
"github.com/cortezaproject/corteza-server/pkg/actionlog"
|
||||
discoveryType "github.com/cortezaproject/corteza-server/pkg/discovery/types"
|
||||
"github.com/cortezaproject/corteza-server/pkg/filter"
|
||||
labelsType "github.com/cortezaproject/corteza-server/pkg/label/types"
|
||||
systemType "github.com/cortezaproject/corteza-server/system/types"
|
||||
"github.com/doug-martin/goqu/v9"
|
||||
"github.com/doug-martin/goqu/v9/exp"
|
||||
@@ -131,6 +132,24 @@ func DefaultFilters() (f *extendedFilters) {
|
||||
return ee, f, nil
|
||||
}
|
||||
|
||||
f.Label = func(store *Store, f labelsType.LabelFilter) (ee []goqu.Expression, _ labelsType.LabelFilter, err error) {
|
||||
if ee, f, err = LabelFilter(f); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
if len(f.Filter) > 0 {
|
||||
values := make([]goqu.Expression, 0, len(f.Filter))
|
||||
|
||||
for k, v := range f.Filter {
|
||||
values = append(values, exp.Ex{"name": k, "value": v})
|
||||
}
|
||||
|
||||
ee = append(ee, goqu.Or(values...))
|
||||
}
|
||||
|
||||
return ee, f, nil
|
||||
}
|
||||
|
||||
f.Reminder = func(s *Store, f systemType.ReminderFilter) (ee []goqu.Expression, _ systemType.ReminderFilter, err error) {
|
||||
if ee, f, err = ReminderFilter(f); err != nil {
|
||||
return
|
||||
|
||||
8
store/adapters/rdbms/filters.gen.go
generated
8
store/adapters/rdbms/filters.gen.go
generated
@@ -931,6 +931,14 @@ func FlagFilter(f flagType.FlagFilter) (ee []goqu.Expression, _ flagType.FlagFil
|
||||
// This function is auto-generated
|
||||
func LabelFilter(f labelsType.LabelFilter) (ee []goqu.Expression, _ labelsType.LabelFilter, err error) {
|
||||
|
||||
if val := strings.TrimSpace(f.Kind); len(val) > 0 {
|
||||
ee = append(ee, goqu.C("kind").Eq(f.Kind))
|
||||
}
|
||||
|
||||
if len(f.ResourceID) > 0 {
|
||||
ee = append(ee, goqu.C("rel_resource").In(f.ResourceID))
|
||||
}
|
||||
|
||||
return ee, f, err
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user