3
0

Fixed queue and route search in admin

This commit is contained in:
Peter Grlica 2022-05-16 14:17:17 +02:00
parent 73266da547
commit 919532b820
12 changed files with 29 additions and 20 deletions

View File

@ -29,7 +29,7 @@ type (
}
QueueFilter struct {
Queue string
Query string
Consumer string
Deleted filter.State

View File

@ -7,10 +7,9 @@ package options
//
import (
"time"
"github.com/cortezaproject/corteza-server/pkg/rand"
"github.com/cortezaproject/corteza-server/pkg/version"
"time"
)
type (

View File

@ -220,8 +220,10 @@ func ApigwRouteFilter(f systemType.ApigwRouteFilter) (ee []goqu.Expression, _ sy
ee = append(ee, expr)
}
if val := strings.TrimSpace(f.Route); len(val) > 0 {
ee = append(ee, goqu.C("route").Eq(f.Route))
if f.Query != "" {
ee = append(ee, goqu.Or(
goqu.C("endpoint").ILike("%"+f.Query+"%"),
))
}
return ee, f, err
@ -882,8 +884,11 @@ func QueueFilter(f systemType.QueueFilter) (ee []goqu.Expression, _ systemType.Q
ee = append(ee, expr)
}
if val := strings.TrimSpace(f.Queue); len(val) > 0 {
ee = append(ee, goqu.C("queue").Eq(f.Queue))
if f.Query != "" {
ee = append(ee, goqu.Or(
goqu.C("queue").ILike("%"+f.Query+"%"),
goqu.C("consumer").ILike("%"+f.Query+"%"),
))
}
return ee, f, err

View File

@ -72,7 +72,7 @@ func testApigwRoutes(t *testing.T, s store.ApigwRoutes) {
new,
))
set, _, err := s.SearchApigwRoutes(ctx, types.ApigwRouteFilter{})
set, _, err := s.SearchApigwRoutes(ctx, types.ApigwRouteFilter{Query: "fo"})
req.NoError(err)
req.Len(set, 1)
})

View File

@ -58,8 +58,12 @@ func testQueues(t *testing.T, s store.Queues) {
new,
))
set, _, err := s.SearchQueues(ctx, types.QueueFilter{})
set, _, err := s.SearchQueues(ctx, types.QueueFilter{Query: "EST"})
req.NoError(err)
req.Len(set, 1)
set, _, err = s.SearchQueues(ctx, types.QueueFilter{Query: "foo"})
req.NoError(err)
req.Len(set, 0)
})
}

View File

@ -28,12 +28,13 @@ apigw_route: schema.#Resource & {
filter: {
struct: {
route: {}
query: {goType: "string"}
deleted: {goType: "filter.State", storeIdent: "deleted_at"}
disabled: {goType: "filter.State", storeIdent: "enabled"}
}
byValue: ["route"]
query: ["endpoint"]
byNilState: ["deleted"]
byFalseState: ["disabled"]
}

View File

@ -25,11 +25,11 @@ queue: schema.#Resource & {
filter: {
struct: {
queue: {goType: "string"}
query: {goType: "string"}
deleted: {goType: "filter.State", storeIdent: "deleted_at"}
}
byValue: ["queue"]
query: ["queue", "consumer"]
byNilState: ["deleted"]
}

View File

@ -46,6 +46,7 @@ func (ctrl *ApigwRoute) List(ctx context.Context, r *request.ApigwRouteList) (in
var (
err error
f = types.ApigwRouteFilter{
Query: r.Query,
Deleted: filter.State(r.Deleted),
// todo: this should dynamic as Delete

View File

@ -46,6 +46,7 @@ func (ctrl *Queue) List(ctx context.Context, r *request.QueuesList) (interface{}
var (
err error
f = types.QueueFilter{
Query: r.Query,
Deleted: filter.State(r.Deleted),
}
)

View File

@ -87,11 +87,10 @@ func (svc *queue) SearchQueues(ctx context.Context, ff mt.QueueFilter) (l []mt.Q
func makeFilter(ff *mt.QueueFilter) (f *types.QueueFilter) {
return &types.QueueFilter{
Queue: ff.Queue,
Consumer: ff.Consumer,
Deleted: ff.Deleted,
Sorting: ff.Sorting,
Paging: ff.Paging,
Query: ff.Query,
Deleted: ff.Deleted,
Sorting: ff.Sorting,
Paging: ff.Paging,
}
}

View File

@ -33,6 +33,7 @@ type (
ApigwRouteFilter struct {
Route string `json:"route"`
Query string `json:"query"`
Deleted filter.State `json:"deleted"`
Disabled filter.State `json:"disabled"`

View File

@ -27,9 +27,7 @@ type (
}
QueueFilter struct {
Queue string `json:"queue"`
Consumer string `json:"handler"`
Query string `json:"query"`
Deleted filter.State `json:"deleted"`
// Check fn is called by store backend for each resource found function can