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