Unset value from filter data : GWM
This commit is contained in:
parent
f7f87ef47d
commit
85104c3e4d
File diff suppressed because it is too large
Load Diff
16
main.go
16
main.go
@ -166,7 +166,7 @@ type FilterGroup struct {
|
|||||||
FilterData []interface{} `json:"filter_data"`
|
FilterData []interface{} `json:"filter_data"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func generateFilters(responseRaw []map[string]interface{}, filterKeys []string) ([]FilterGroup, error) {
|
func generateFilters(responseRaw []map[string]interface{}, filterKeys []string, unsetKey string, unsetValue string) ([]FilterGroup, error) {
|
||||||
// Transform responseRaw to []ResponseItem
|
// Transform responseRaw to []ResponseItem
|
||||||
var response []ResponseItem
|
var response []ResponseItem
|
||||||
responseBytes, err := json.Marshal(responseRaw) // Marshal raw data to JSON
|
responseBytes, err := json.Marshal(responseRaw) // Marshal raw data to JSON
|
||||||
@ -200,7 +200,13 @@ func generateFilters(responseRaw []map[string]interface{}, filterKeys []string)
|
|||||||
for key, values := range filterMap {
|
for key, values := range filterMap {
|
||||||
filterData := make([]interface{}, 0, len(values))
|
filterData := make([]interface{}, 0, len(values))
|
||||||
for value := range values {
|
for value := range values {
|
||||||
filterData = append(filterData, value)
|
if key == unsetKey {
|
||||||
|
if value != unsetValue {
|
||||||
|
filterData = append(filterData, value)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
filterData = append(filterData, value)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
filters = append(filters, FilterGroup{
|
filters = append(filters, FilterGroup{
|
||||||
FilterKey: key,
|
FilterKey: key,
|
||||||
@ -222,11 +228,13 @@ func fetchfilterJSON(kpi string) ([]FilterGroup, error) {
|
|||||||
FileStatus bool `db:"file_status" json:"file_status"`
|
FileStatus bool `db:"file_status" json:"file_status"`
|
||||||
DataSet string `db:"dataset" json:"dataset"`
|
DataSet string `db:"dataset" json:"dataset"`
|
||||||
Kpi string `db:"kpi" json:"kpi"`
|
Kpi string `db:"kpi" json:"kpi"`
|
||||||
|
UnsetKey string `db:"unset_key" json:"unset_key"`
|
||||||
|
UnsetValue string `db:"unset_value" json:"unset_value"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Query to get one row from the data_set_filter table
|
// Query to get one row from the data_set_filter table
|
||||||
err := app.DB().
|
err := app.DB().
|
||||||
Select("id", "full_data_url", "filter_keys", "file_status", "dataset", "kpi").
|
Select("id", "full_data_url", "filter_keys", "file_status", "dataset", "kpi", "unset_key", "unset_value").
|
||||||
From("data_set_filter").
|
From("data_set_filter").
|
||||||
Where(dbx.HashExp{"kpi": kpi}).
|
Where(dbx.HashExp{"kpi": kpi}).
|
||||||
One(&dataSetFilter)
|
One(&dataSetFilter)
|
||||||
@ -256,7 +264,7 @@ func fetchfilterJSON(kpi string) ([]FilterGroup, error) {
|
|||||||
filterKeys := strings.Split(dataSetFilter.FilterKeys, ",")
|
filterKeys := strings.Split(dataSetFilter.FilterKeys, ",")
|
||||||
|
|
||||||
// Generate filters
|
// Generate filters
|
||||||
filters, err := generateFilters(response, filterKeys)
|
filters, err := generateFilters(response, filterKeys, dataSetFilter.UnsetKey, dataSetFilter.UnsetValue)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("Failed to generate filters: %v", err)
|
log.Printf("Failed to generate filters: %v", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|||||||
BIN
pb_data/data.db
BIN
pb_data/data.db
Binary file not shown.
BIN
pb_data/data.db-shm
Normal file
BIN
pb_data/data.db-shm
Normal file
Binary file not shown.
0
pb_data/data.db-wal
Normal file
0
pb_data/data.db-wal
Normal file
BIN
pb_data/logs.db
BIN
pb_data/logs.db
Binary file not shown.
BIN
pb_data/logs.db-shm
Normal file
BIN
pb_data/logs.db-shm
Normal file
Binary file not shown.
0
pb_data/logs.db-wal
Normal file
0
pb_data/logs.db-wal
Normal file
Loading…
Reference in New Issue
Block a user