Add query support for report list
This commit is contained in:
committed by
Jože Fortun
parent
084ac727bd
commit
79658c0194
Generated
+6
@@ -1072,6 +1072,12 @@ func ReportFilter(f systemType.ReportFilter) (ee []goqu.Expression, _ systemType
|
||||
ee = append(ee, goqu.I("id").In(f.LabeledIDs))
|
||||
}
|
||||
|
||||
if f.Query != "" {
|
||||
ee = append(ee, goqu.Or(
|
||||
goqu.C("handle").ILike("%"+f.Query+"%"),
|
||||
))
|
||||
}
|
||||
|
||||
return ee, f, err
|
||||
}
|
||||
|
||||
|
||||
@@ -47,6 +47,7 @@ report: {
|
||||
deleted: {goType: "filter.State", storeIdent: "deleted_at"}
|
||||
}
|
||||
|
||||
query: ["handle"]
|
||||
byValue: ["handle", "report_id"]
|
||||
byNilState: ["deleted"]
|
||||
}
|
||||
|
||||
@@ -1645,6 +1645,10 @@ endpoints:
|
||||
required: false
|
||||
title: Report handle
|
||||
type: string
|
||||
- name: query
|
||||
required: false
|
||||
title: Report query
|
||||
type: string
|
||||
- name: deleted
|
||||
required: false
|
||||
title: Exclude (0, default), include (1) or return only (2) deleted reports
|
||||
|
||||
@@ -72,6 +72,7 @@ func (ctrl *Report) List(ctx context.Context, r *request.ReportList) (interface{
|
||||
err error
|
||||
f = types.ReportFilter{
|
||||
Handle: r.Handle,
|
||||
Query: r.Query,
|
||||
Labels: r.Labels,
|
||||
Deleted: filter.State(r.Deleted),
|
||||
}
|
||||
|
||||
@@ -42,6 +42,11 @@ type (
|
||||
// Report handle
|
||||
Handle string
|
||||
|
||||
// Query GET parameter
|
||||
//
|
||||
// Report query
|
||||
Query string
|
||||
|
||||
// Deleted GET parameter
|
||||
//
|
||||
// Exclude (0, default), include (1) or return only (2) deleted reports
|
||||
@@ -202,6 +207,7 @@ func NewReportList() *ReportList {
|
||||
func (r ReportList) Auditable() map[string]interface{} {
|
||||
return map[string]interface{}{
|
||||
"handle": r.Handle,
|
||||
"query": r.Query,
|
||||
"deleted": r.Deleted,
|
||||
"labels": r.Labels,
|
||||
"limit": r.Limit,
|
||||
@@ -216,6 +222,11 @@ func (r ReportList) GetHandle() string {
|
||||
return r.Handle
|
||||
}
|
||||
|
||||
// Auditable returns all auditable/loggable parameters
|
||||
func (r ReportList) GetQuery() string {
|
||||
return r.Query
|
||||
}
|
||||
|
||||
// Auditable returns all auditable/loggable parameters
|
||||
func (r ReportList) GetDeleted() uint {
|
||||
return r.Deleted
|
||||
@@ -259,6 +270,12 @@ func (r *ReportList) Fill(req *http.Request) (err error) {
|
||||
return err
|
||||
}
|
||||
}
|
||||
if val, ok := tmp["query"]; ok && len(val) > 0 {
|
||||
r.Query, err = val[0], nil
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
if val, ok := tmp["deleted"]; ok && len(val) > 0 {
|
||||
r.Deleted, err = payload.ParseUint(val[0]), nil
|
||||
if err != nil {
|
||||
|
||||
@@ -132,6 +132,7 @@ type (
|
||||
ReportID []uint64 `json:"reportID"`
|
||||
|
||||
Handle string `json:"handle"`
|
||||
Query string `json:"query"`
|
||||
|
||||
Deleted filter.State `json:"deleted"`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user