in snapshot/snapshot.go [71:100]
func FilterRow(input string, table string, params *config.TableParams) string {
var rowFilters []*config.RowFilter
if params == nil || len(params.RowFilter.Values) == 0 || params.RowFilter.Condition == "" || params.RowFilter.Column == "" {
// if the legacy RowFilter is not set, use RowFilters if any
if params != nil && len(params.RowFilters) > 0 {
for _, rowFilter := range params.RowFilters {
rf := rowFilter
rowFilters = append(rowFilters, &rf)
}
return getWhereClauseFromRowFilters(rowFilters)
}
conf := config.Get()
if conf.Filters == nil {
return ""
}
if _, ok := conf.Filters[input]; !ok || conf.Filters[input] == nil {
return ""
}
rf, ok := conf.Filters[input][table]
if !ok || len(rf.Values) == 0 || rf.Condition == "" || rf.Column == "" {
return ""
}
rowFilters = append(rowFilters, &rf)
} else {
rowFilters = append(rowFilters, ¶ms.RowFilter)
}
return getWhereClauseFromRowFilters(rowFilters)
}