Unset value from filter data : GWM

This commit is contained in:
Gowtham M 2025-01-29 11:17:34 +05:30
parent f7f87ef47d
commit 85104c3e4d
8 changed files with 3105 additions and 3097 deletions

File diff suppressed because it is too large Load Diff

16
main.go
View File

@ -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

Binary file not shown.

BIN
pb_data/data.db-shm Normal file

Binary file not shown.

0
pb_data/data.db-wal Normal file
View File

Binary file not shown.

BIN
pb_data/logs.db-shm Normal file

Binary file not shown.

0
pb_data/logs.db-wal Normal file
View File