1package models
2
3type SearchUserFilter interface {
4	GetFilter(filterName string, params []string) Filter
5	GetFilterList() map[string]FilterHandler
6}
7
8type WhereCondition struct {
9	Condition string
10	Params    interface{}
11}
12
13type InCondition struct {
14	Condition string
15	Params    interface{}
16}
17
18type JoinCondition struct {
19	Operator string
20	Table    string
21	Params   string
22}
23
24type FilterHandler func(params []string) (Filter, error)
25
26type Filter interface {
27	WhereCondition() *WhereCondition
28	InCondition() *InCondition
29	JoinCondition() *JoinCondition
30}
31