fixing filter query search + base filtering

This commit is contained in:
renaldybrada
2026-01-28 08:25:21 +07:00
parent 5d799cfc46
commit 43fa498b54
@@ -71,13 +71,9 @@ func (r kategoriRepo) SearchableListDokter(c *gin.Context) ([]DokterModel, error
},
}
// filtering KSM is not null
ksmFilter := []queryUtils.DynamicFilter{
{Column: "dp.KSM", Operator: queryUtils.OpNotNull},
}
query.Filters = append(query.Filters, queryUtils.FilterGroup{Filters: ksmFilter, LogicOp: "AND"})
// TODO : build query KSM_FILTER AND (SEARCH_FILTER), current condition are all filter with OR operator
// base filtering
var baseFilter []queryUtils.DynamicFilter
baseFilter = append(baseFilter, queryUtils.DynamicFilter{Column: "dp.KSM", Operator: queryUtils.OpNotNull})
// filtering search results
if search != "" {
@@ -87,9 +83,14 @@ func (r kategoriRepo) SearchableListDokter(c *gin.Context) ([]DokterModel, error
{Column: "dp.Nama_belakang", Operator: queryUtils.OpILike, Value: "%" + search + "%"},
{Column: "dk.Nama_ksm", Operator: queryUtils.OpILike, Value: "%" + search + "%"},
}
query.Filters = append(query.Filters, queryUtils.FilterGroup{Filters: searchFilters, LogicOp: "OR"})
}
if len(baseFilter) > 0 {
query.Filters = append(query.Filters, queryUtils.FilterGroup{Filters: baseFilter, LogicOp: "AND"})
}
dbconn, err := r.db.GetSQLXDB(DB_NAME)
if err != nil {
log.Fatalf("unable to connect db %s", err)