3
0

Fix template searching, add query (by handle, type)

This commit is contained in:
Denis Arh
2022-09-02 08:37:03 +02:00
parent e7690e42dd
commit 2e222d1bfa
6 changed files with 30 additions and 0 deletions

View File

@@ -1221,6 +1221,13 @@ func TemplateFilter(f systemType.TemplateFilter) (ee []goqu.Expression, _ system
ee = append(ee, goqu.I("id").In(f.LabeledIDs))
}
if f.Query != "" {
ee = append(ee, goqu.Or(
goqu.C("handle").ILike("%"+f.Query+"%"),
goqu.C("type").ILike("%"+f.Query+"%"),
))
}
return ee, f, err
}

View File

@@ -1443,6 +1443,9 @@ endpoints:
path: "/"
parameters:
get:
- name: query
type: string
title: Query
- name: handle
type: string
title: Handle

View File

@@ -36,6 +36,11 @@ var (
type (
// Internal API interface
TemplateList struct {
// Query GET parameter
//
// Query
Query string
// Handle GET parameter
//
// Handle
@@ -231,6 +236,7 @@ func NewTemplateList() *TemplateList {
// Auditable returns all auditable/loggable parameters
func (r TemplateList) Auditable() map[string]interface{} {
return map[string]interface{}{
"query": r.Query,
"handle": r.Handle,
"type": r.Type,
"ownerID": r.OwnerID,
@@ -243,6 +249,11 @@ func (r TemplateList) Auditable() map[string]interface{} {
}
}
// Auditable returns all auditable/loggable parameters
func (r TemplateList) GetQuery() string {
return r.Query
}
// Auditable returns all auditable/loggable parameters
func (r TemplateList) GetHandle() string {
return r.Handle
@@ -295,6 +306,12 @@ func (r *TemplateList) Fill(req *http.Request) (err error) {
// GET params
tmp := req.URL.Query()
if val, ok := tmp["query"]; ok && len(val) > 0 {
r.Query, err = val[0], nil
if err != nil {
return err
}
}
if val, ok := tmp["handle"]; ok && len(val) > 0 {
r.Handle, err = val[0], nil
if err != nil {

View File

@@ -72,6 +72,7 @@ func (ctrl *Template) List(ctx context.Context, r *request.TemplateList) (interf
var (
err error
f = types.TemplateFilter{
Query: r.Query,
Handle: r.Handle,
Type: r.Type,
OwnerID: r.OwnerID,

View File

@@ -33,6 +33,7 @@ template: {
deleted: {goType: "filter.State", storeIdent: "deleted_at"}
}
query: ["handle", "type"]
byValue: ["template_id", "handle", "partial", "type", "owner_id"]
byNilState: ["deleted"]
}

View File

@@ -45,6 +45,7 @@ type (
TemplateFilter struct {
TemplateID []uint64 `json:"templateID"`
Query string `json:"query"`
Handle string `json:"handle"`
Type string `json:"type"`
OwnerID uint64 `json:"ownerID,string"`