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"`
|
||||
}
|
||||
|
||||
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
|
||||
var response []ResponseItem
|
||||
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 {
|
||||
filterData := make([]interface{}, 0, len(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{
|
||||
FilterKey: key,
|
||||
@ -222,11 +228,13 @@ func fetchfilterJSON(kpi string) ([]FilterGroup, error) {
|
||||
FileStatus bool `db:"file_status" json:"file_status"`
|
||||
DataSet string `db:"dataset" json:"dataset"`
|
||||
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
|
||||
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").
|
||||
Where(dbx.HashExp{"kpi": kpi}).
|
||||
One(&dataSetFilter)
|
||||
@ -256,7 +264,7 @@ func fetchfilterJSON(kpi string) ([]FilterGroup, error) {
|
||||
filterKeys := strings.Split(dataSetFilter.FilterKeys, ",")
|
||||
|
||||
// Generate filters
|
||||
filters, err := generateFilters(response, filterKeys)
|
||||
filters, err := generateFilters(response, filterKeys, dataSetFilter.UnsetKey, dataSetFilter.UnsetValue)
|
||||
if err != nil {
|
||||
log.Printf("Failed to generate filters: %v", 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