diff --git a/internal/store/postgres/org_tokens_repository.go b/internal/store/postgres/org_tokens_repository.go index 88111b1d8..660b5abed 100644 --- a/internal/store/postgres/org_tokens_repository.go +++ b/internal/store/postgres/org_tokens_repository.go @@ -4,6 +4,7 @@ import ( "context" "database/sql" "fmt" + "strings" "github.com/doug-martin/goqu/v9" "github.com/jmoiron/sqlx" @@ -166,6 +167,14 @@ func (r OrgTokensRepository) addFilter(query *goqu.SelectDataset, filter rql.Fil case "like", "notlike": value := "%" + filter.Value.(string) + "%" return query.Where(goqu.Ex{field: goqu.Op{filter.Operator: value}}), nil + case "in", "notin": + values := make([]string, 0) + for _, v := range strings.Split(filter.Value.(string), ",") { + if trimmed := strings.TrimSpace(v); trimmed != "" { + values = append(values, trimmed) + } + } + return query.Where(goqu.Ex{field: goqu.Op{filter.Operator: values}}), nil default: return query.Where(goqu.Ex{field: goqu.Op{filter.Operator: filter.Value}}), nil }