Documentation
¶
Index ¶
- Variables
- func ApplyGormFilters(db *gorm.DB, filters []GormFilter) *gorm.DB
- func ApplyRedisFilters(ctx context.Context, client *redis.Client, initialKeys []string, ...) ([]string, error)
- func ValidateSQLIdentifier(name string) error
- type BaseFilter
- type FilterParam
- type FilterTranslator
- type GenericBetweenFilter
- type GenericFilter
- type GenericInFilter
- type GormBetweenFilter
- type GormBetweenTranslator
- type GormEqualFilter
- type GormEqualTranslator
- type GormFilter
- type GormGreaterThanFilter
- type GormGreaterThanOrEqualFilter
- type GormGreaterThanOrEqualTranslator
- type GormGreaterThanTranslator
- type GormInFilter
- type GormInTranslator
- type GormIsNotNullFilter
- type GormIsNotNullTranslator
- type GormIsNullFilter
- type GormIsNullTranslator
- type GormLessThanFilter
- type GormLessThanOrEqualFilter
- type GormLessThanOrEqualTranslator
- type GormLessThanTranslator
- type GormLikeFilter
- type GormLikeTranslator
- type GormNotEqualFilter
- type GormNotEqualTranslator
- type GormTranslatorRegistry
- func (r *GormTranslatorRegistry) GetSupportedOperators() []string
- func (r *GormTranslatorRegistry) Register(translator FilterTranslator)
- func (r *GormTranslatorRegistry) Translate(param FilterParam) (GormFilter, error)
- func (r *GormTranslatorRegistry) TranslateBatch(params []FilterParam) ([]GormFilter, error)
- type RedisBetweenFilter
- type RedisBetweenTranslator
- type RedisEqualFilter
- type RedisEqualTranslator
- type RedisFilter
- type RedisFilterFunc
- type RedisGreaterThanFilter
- type RedisGreaterThanOrEqualFilter
- type RedisGreaterThanOrEqualTranslator
- type RedisGreaterThanTranslator
- type RedisInFilter
- type RedisInTranslator
- type RedisIsNotNullFilter
- type RedisIsNotNullTranslator
- type RedisIsNullFilter
- type RedisIsNullTranslator
- type RedisLessThanFilter
- type RedisLessThanOrEqualFilter
- type RedisLessThanOrEqualTranslator
- type RedisLessThanTranslator
- type RedisLikeFilter
- type RedisLikeTranslator
- type RedisNotEqualFilter
- type RedisNotEqualTranslator
- type RedisTranslatorRegistry
Constants ¶
This section is empty.
Variables ¶
var DefaultGormRegistry = NewGormTranslatorRegistry()
DefaultGormRegistry 默认 GORM 翻译器注册表(全局单例)
var DefaultRedisRegistry = NewRedisTranslatorRegistry()
Functions ¶
func ApplyGormFilters ¶
func ApplyGormFilters(db *gorm.DB, filters []GormFilter) *gorm.DB
ApplyGormFilters 应用多个 GORM 过滤器
func ApplyRedisFilters ¶
func ApplyRedisFilters(ctx context.Context, client *redis.Client, initialKeys []string, filters []RedisFilter) ([]string, error)
ApplyRedisFilters 外部调用入口
func ValidateSQLIdentifier ¶
ValidateSQLIdentifier 校验 SQL 标识符(列名、表名、排序字段等),防止 SQL 注入
Types ¶
type BaseFilter ¶
BaseFilter 基础过滤器接口(抽象)
type FilterParam ¶
type FilterParam struct {
Field string `json:"field"` // 字段名
Operator string `json:"operator"` // 操作符
Value interface{} `json:"value"` // 值
}
FilterParam 前端过滤参数(统一格式)
type FilterTranslator ¶
type FilterTranslator interface {
// Translate 将前端参数翻译为通用 Filter 数据
Translate(param FilterParam) (BaseFilter, error)
// SupportedOperator 返回支持的操作符
SupportedOperator() string
// Validate 验证参数是否合法
Validate(param FilterParam) error
}
FilterTranslator 过滤器翻译器接口 负责将前端参数翻译为后端 Filter
type GenericBetweenFilter ¶
GenericBetweenFilter BETWEEN 过滤器通用数据
func (*GenericBetweenFilter) GetField ¶
func (f *GenericBetweenFilter) GetField() string
func (*GenericBetweenFilter) GetOperator ¶
func (f *GenericBetweenFilter) GetOperator() string
func (*GenericBetweenFilter) GetValue ¶
func (f *GenericBetweenFilter) GetValue() interface{}
type GenericFilter ¶
GenericFilter 通用过滤器(存储过滤器数据)
func (*GenericFilter) GetField ¶
func (f *GenericFilter) GetField() string
func (*GenericFilter) GetOperator ¶
func (f *GenericFilter) GetOperator() string
func (*GenericFilter) GetValue ¶
func (f *GenericFilter) GetValue() interface{}
type GenericInFilter ¶
GenericInFilter IN 过滤器通用数据
func (*GenericInFilter) GetField ¶
func (f *GenericInFilter) GetField() string
func (*GenericInFilter) GetOperator ¶
func (f *GenericInFilter) GetOperator() string
func (*GenericInFilter) GetValue ¶
func (f *GenericInFilter) GetValue() interface{}
type GormBetweenFilter ¶
type GormBetweenFilter struct {
*GenericBetweenFilter
}
GormBetweenFilter BETWEEN 过滤器
type GormBetweenTranslator ¶
type GormBetweenTranslator struct{}
GormBetweenTranslator BETWEEN 翻译器
func (*GormBetweenTranslator) SupportedOperator ¶
func (t *GormBetweenTranslator) SupportedOperator() string
func (*GormBetweenTranslator) Translate ¶
func (t *GormBetweenTranslator) Translate(param FilterParam) (BaseFilter, error)
func (*GormBetweenTranslator) Validate ¶
func (t *GormBetweenTranslator) Validate(param FilterParam) error
type GormEqualTranslator ¶
type GormEqualTranslator struct{}
GormEqualTranslator 等于翻译器
func (*GormEqualTranslator) SupportedOperator ¶
func (t *GormEqualTranslator) SupportedOperator() string
func (*GormEqualTranslator) Translate ¶
func (t *GormEqualTranslator) Translate(param FilterParam) (BaseFilter, error)
func (*GormEqualTranslator) Validate ¶
func (t *GormEqualTranslator) Validate(param FilterParam) error
type GormFilter ¶
type GormFilter interface {
BaseFilter
ApplyGorm(db *gorm.DB) *gorm.DB
}
GormFilter GORM 过滤器接口
type GormGreaterThanFilter ¶
type GormGreaterThanFilter struct {
*GenericFilter
}
GormGreaterThanFilter 大于过滤器
type GormGreaterThanOrEqualFilter ¶
type GormGreaterThanOrEqualFilter struct {
*GenericFilter
}
GormGreaterThanOrEqualFilter 大于等于过滤器
type GormGreaterThanOrEqualTranslator ¶
type GormGreaterThanOrEqualTranslator struct{}
GormGreaterThanOrEqualTranslator 大于等于翻译器
func (*GormGreaterThanOrEqualTranslator) SupportedOperator ¶
func (t *GormGreaterThanOrEqualTranslator) SupportedOperator() string
func (*GormGreaterThanOrEqualTranslator) Translate ¶
func (t *GormGreaterThanOrEqualTranslator) Translate(param FilterParam) (BaseFilter, error)
func (*GormGreaterThanOrEqualTranslator) Validate ¶
func (t *GormGreaterThanOrEqualTranslator) Validate(param FilterParam) error
type GormGreaterThanTranslator ¶
type GormGreaterThanTranslator struct{}
GormGreaterThanTranslator 大于翻译器
func (*GormGreaterThanTranslator) SupportedOperator ¶
func (t *GormGreaterThanTranslator) SupportedOperator() string
func (*GormGreaterThanTranslator) Translate ¶
func (t *GormGreaterThanTranslator) Translate(param FilterParam) (BaseFilter, error)
func (*GormGreaterThanTranslator) Validate ¶
func (t *GormGreaterThanTranslator) Validate(param FilterParam) error
type GormInTranslator ¶
type GormInTranslator struct{}
GormInTranslator IN 翻译器
func (*GormInTranslator) SupportedOperator ¶
func (t *GormInTranslator) SupportedOperator() string
func (*GormInTranslator) Translate ¶
func (t *GormInTranslator) Translate(param FilterParam) (BaseFilter, error)
func (*GormInTranslator) Validate ¶
func (t *GormInTranslator) Validate(param FilterParam) error
type GormIsNotNullFilter ¶
type GormIsNotNullFilter struct {
*GenericFilter
}
GormIsNotNullFilter IS NOT NULL 过滤器
type GormIsNotNullTranslator ¶
type GormIsNotNullTranslator struct{}
GormIsNotNullTranslator IS NOT NULL 翻译器
func (*GormIsNotNullTranslator) SupportedOperator ¶
func (t *GormIsNotNullTranslator) SupportedOperator() string
func (*GormIsNotNullTranslator) Translate ¶
func (t *GormIsNotNullTranslator) Translate(param FilterParam) (BaseFilter, error)
func (*GormIsNotNullTranslator) Validate ¶
func (t *GormIsNotNullTranslator) Validate(param FilterParam) error
type GormIsNullFilter ¶
type GormIsNullFilter struct {
*GenericFilter
}
GormIsNullFilter IS NULL 过滤器
type GormIsNullTranslator ¶
type GormIsNullTranslator struct{}
GormIsNullTranslator IS NULL 翻译器
func (*GormIsNullTranslator) SupportedOperator ¶
func (t *GormIsNullTranslator) SupportedOperator() string
func (*GormIsNullTranslator) Translate ¶
func (t *GormIsNullTranslator) Translate(param FilterParam) (BaseFilter, error)
func (*GormIsNullTranslator) Validate ¶
func (t *GormIsNullTranslator) Validate(param FilterParam) error
type GormLessThanFilter ¶
type GormLessThanFilter struct {
*GenericFilter
}
GormLessThanFilter 小于过滤器
type GormLessThanOrEqualFilter ¶
type GormLessThanOrEqualFilter struct {
*GenericFilter
}
GormLessThanOrEqualFilter 小于等于过滤器
type GormLessThanOrEqualTranslator ¶
type GormLessThanOrEqualTranslator struct{}
GormLessThanOrEqualTranslator 小于等于翻译器
func (*GormLessThanOrEqualTranslator) SupportedOperator ¶
func (t *GormLessThanOrEqualTranslator) SupportedOperator() string
func (*GormLessThanOrEqualTranslator) Translate ¶
func (t *GormLessThanOrEqualTranslator) Translate(param FilterParam) (BaseFilter, error)
func (*GormLessThanOrEqualTranslator) Validate ¶
func (t *GormLessThanOrEqualTranslator) Validate(param FilterParam) error
type GormLessThanTranslator ¶
type GormLessThanTranslator struct{}
GormLessThanTranslator 小于翻译器
func (*GormLessThanTranslator) SupportedOperator ¶
func (t *GormLessThanTranslator) SupportedOperator() string
func (*GormLessThanTranslator) Translate ¶
func (t *GormLessThanTranslator) Translate(param FilterParam) (BaseFilter, error)
func (*GormLessThanTranslator) Validate ¶
func (t *GormLessThanTranslator) Validate(param FilterParam) error
type GormLikeTranslator ¶
type GormLikeTranslator struct{}
GormLikeTranslator 模糊匹配翻译器
func (*GormLikeTranslator) SupportedOperator ¶
func (t *GormLikeTranslator) SupportedOperator() string
func (*GormLikeTranslator) Translate ¶
func (t *GormLikeTranslator) Translate(param FilterParam) (BaseFilter, error)
func (*GormLikeTranslator) Validate ¶
func (t *GormLikeTranslator) Validate(param FilterParam) error
type GormNotEqualFilter ¶
type GormNotEqualFilter struct {
*GenericFilter
}
GormNotEqualFilter 不等于过滤器
type GormNotEqualTranslator ¶
type GormNotEqualTranslator struct{}
GormNotEqualTranslator 不等于翻译器
func (*GormNotEqualTranslator) SupportedOperator ¶
func (t *GormNotEqualTranslator) SupportedOperator() string
func (*GormNotEqualTranslator) Translate ¶
func (t *GormNotEqualTranslator) Translate(param FilterParam) (BaseFilter, error)
func (*GormNotEqualTranslator) Validate ¶
func (t *GormNotEqualTranslator) Validate(param FilterParam) error
type GormTranslatorRegistry ¶
type GormTranslatorRegistry struct {
// contains filtered or unexported fields
}
GormTranslatorRegistry GORM 翻译器注册表
func NewGormTranslatorRegistry ¶
func NewGormTranslatorRegistry() *GormTranslatorRegistry
NewGormTranslatorRegistry 创建 GORM 翻译器注册表
func (*GormTranslatorRegistry) GetSupportedOperators ¶
func (r *GormTranslatorRegistry) GetSupportedOperators() []string
GetSupportedOperators 获取所有支持的操作符
func (*GormTranslatorRegistry) Register ¶
func (r *GormTranslatorRegistry) Register(translator FilterTranslator)
Register 注册翻译器
func (*GormTranslatorRegistry) Translate ¶
func (r *GormTranslatorRegistry) Translate(param FilterParam) (GormFilter, error)
Translate 翻译前端参数为 Filter
func (*GormTranslatorRegistry) TranslateBatch ¶
func (r *GormTranslatorRegistry) TranslateBatch(params []FilterParam) ([]GormFilter, error)
TranslateBatch 批量翻译
type RedisBetweenFilter ¶
type RedisBetweenFilter struct{ *GenericBetweenFilter }
func (*RedisBetweenFilter) ApplyRedis ¶
type RedisBetweenTranslator ¶
type RedisBetweenTranslator struct{}
func (*RedisBetweenTranslator) SupportedOperator ¶
func (t *RedisBetweenTranslator) SupportedOperator() string
func (*RedisBetweenTranslator) Translate ¶
func (t *RedisBetweenTranslator) Translate(param FilterParam) (BaseFilter, error)
func (*RedisBetweenTranslator) Validate ¶
func (t *RedisBetweenTranslator) Validate(param FilterParam) error
type RedisEqualFilter ¶
type RedisEqualFilter struct{ *GenericFilter }
func (*RedisEqualFilter) ApplyRedis ¶
type RedisEqualTranslator ¶
type RedisEqualTranslator struct{}
func (*RedisEqualTranslator) SupportedOperator ¶
func (t *RedisEqualTranslator) SupportedOperator() string
func (*RedisEqualTranslator) Translate ¶
func (t *RedisEqualTranslator) Translate(param FilterParam) (BaseFilter, error)
func (*RedisEqualTranslator) Validate ¶
func (t *RedisEqualTranslator) Validate(param FilterParam) error
type RedisFilter ¶
type RedisGreaterThanFilter ¶
type RedisGreaterThanFilter struct{ *GenericFilter }
func (*RedisGreaterThanFilter) ApplyRedis ¶
type RedisGreaterThanOrEqualFilter ¶
type RedisGreaterThanOrEqualFilter struct{ *GenericFilter }
func (*RedisGreaterThanOrEqualFilter) ApplyRedis ¶
type RedisGreaterThanOrEqualTranslator ¶
type RedisGreaterThanOrEqualTranslator struct{}
func (*RedisGreaterThanOrEqualTranslator) SupportedOperator ¶
func (t *RedisGreaterThanOrEqualTranslator) SupportedOperator() string
func (*RedisGreaterThanOrEqualTranslator) Translate ¶
func (t *RedisGreaterThanOrEqualTranslator) Translate(param FilterParam) (BaseFilter, error)
func (*RedisGreaterThanOrEqualTranslator) Validate ¶
func (t *RedisGreaterThanOrEqualTranslator) Validate(param FilterParam) error
type RedisGreaterThanTranslator ¶
type RedisGreaterThanTranslator struct{}
func (*RedisGreaterThanTranslator) SupportedOperator ¶
func (t *RedisGreaterThanTranslator) SupportedOperator() string
func (*RedisGreaterThanTranslator) Translate ¶
func (t *RedisGreaterThanTranslator) Translate(param FilterParam) (BaseFilter, error)
func (*RedisGreaterThanTranslator) Validate ¶
func (t *RedisGreaterThanTranslator) Validate(param FilterParam) error
type RedisInFilter ¶
type RedisInFilter struct{ *GenericInFilter }
func (*RedisInFilter) ApplyRedis ¶
type RedisInTranslator ¶
type RedisInTranslator struct{}
func (*RedisInTranslator) SupportedOperator ¶
func (t *RedisInTranslator) SupportedOperator() string
func (*RedisInTranslator) Translate ¶
func (t *RedisInTranslator) Translate(param FilterParam) (BaseFilter, error)
func (*RedisInTranslator) Validate ¶
func (t *RedisInTranslator) Validate(param FilterParam) error
type RedisIsNotNullFilter ¶
type RedisIsNotNullFilter struct{ *GenericFilter }
func (*RedisIsNotNullFilter) ApplyRedis ¶
type RedisIsNotNullTranslator ¶
type RedisIsNotNullTranslator struct{}
func (*RedisIsNotNullTranslator) SupportedOperator ¶
func (t *RedisIsNotNullTranslator) SupportedOperator() string
func (*RedisIsNotNullTranslator) Translate ¶
func (t *RedisIsNotNullTranslator) Translate(param FilterParam) (BaseFilter, error)
func (*RedisIsNotNullTranslator) Validate ¶
func (t *RedisIsNotNullTranslator) Validate(param FilterParam) error
type RedisIsNullFilter ¶
type RedisIsNullFilter struct{ *GenericFilter }
func (*RedisIsNullFilter) ApplyRedis ¶
type RedisIsNullTranslator ¶
type RedisIsNullTranslator struct{}
func (*RedisIsNullTranslator) SupportedOperator ¶
func (t *RedisIsNullTranslator) SupportedOperator() string
func (*RedisIsNullTranslator) Translate ¶
func (t *RedisIsNullTranslator) Translate(param FilterParam) (BaseFilter, error)
func (*RedisIsNullTranslator) Validate ¶
func (t *RedisIsNullTranslator) Validate(param FilterParam) error
type RedisLessThanFilter ¶
type RedisLessThanFilter struct{ *GenericFilter }
func (*RedisLessThanFilter) ApplyRedis ¶
type RedisLessThanOrEqualFilter ¶
type RedisLessThanOrEqualFilter struct{ *GenericFilter }
func (*RedisLessThanOrEqualFilter) ApplyRedis ¶
type RedisLessThanOrEqualTranslator ¶
type RedisLessThanOrEqualTranslator struct{}
func (*RedisLessThanOrEqualTranslator) SupportedOperator ¶
func (t *RedisLessThanOrEqualTranslator) SupportedOperator() string
func (*RedisLessThanOrEqualTranslator) Translate ¶
func (t *RedisLessThanOrEqualTranslator) Translate(param FilterParam) (BaseFilter, error)
func (*RedisLessThanOrEqualTranslator) Validate ¶
func (t *RedisLessThanOrEqualTranslator) Validate(param FilterParam) error
type RedisLessThanTranslator ¶
type RedisLessThanTranslator struct{}
func (*RedisLessThanTranslator) SupportedOperator ¶
func (t *RedisLessThanTranslator) SupportedOperator() string
func (*RedisLessThanTranslator) Translate ¶
func (t *RedisLessThanTranslator) Translate(param FilterParam) (BaseFilter, error)
func (*RedisLessThanTranslator) Validate ¶
func (t *RedisLessThanTranslator) Validate(param FilterParam) error
type RedisLikeFilter ¶
type RedisLikeFilter struct{ *GenericFilter }
func (*RedisLikeFilter) ApplyRedis ¶
type RedisLikeTranslator ¶
type RedisLikeTranslator struct{}
func (*RedisLikeTranslator) SupportedOperator ¶
func (t *RedisLikeTranslator) SupportedOperator() string
func (*RedisLikeTranslator) Translate ¶
func (t *RedisLikeTranslator) Translate(param FilterParam) (BaseFilter, error)
func (*RedisLikeTranslator) Validate ¶
func (t *RedisLikeTranslator) Validate(param FilterParam) error
type RedisNotEqualFilter ¶
type RedisNotEqualFilter struct{ *GenericFilter }
func (*RedisNotEqualFilter) ApplyRedis ¶
type RedisNotEqualTranslator ¶
type RedisNotEqualTranslator struct{}
func (*RedisNotEqualTranslator) SupportedOperator ¶
func (t *RedisNotEqualTranslator) SupportedOperator() string
func (*RedisNotEqualTranslator) Translate ¶
func (t *RedisNotEqualTranslator) Translate(param FilterParam) (BaseFilter, error)
func (*RedisNotEqualTranslator) Validate ¶
func (t *RedisNotEqualTranslator) Validate(param FilterParam) error
type RedisTranslatorRegistry ¶
type RedisTranslatorRegistry struct {
// contains filtered or unexported fields
}
func NewRedisTranslatorRegistry ¶
func NewRedisTranslatorRegistry() *RedisTranslatorRegistry
func (*RedisTranslatorRegistry) Register ¶
func (r *RedisTranslatorRegistry) Register(translator FilterTranslator)
func (*RedisTranslatorRegistry) Translate ¶
func (r *RedisTranslatorRegistry) Translate(param FilterParam) (RedisFilter, error)
func (*RedisTranslatorRegistry) TranslateBatch ¶
func (r *RedisTranslatorRegistry) TranslateBatch(params []FilterParam) ([]RedisFilter, error)