Documentation
¶
Overview ¶
* @Author: kamalyes 501893067@qq.com * @Date: 2025-11-11 00:00:00 * @LastEditors: kamalyes 501893067@qq.com * @LastEditTime: 2025-11-13 11:03:15 * @FilePath: \go-sqlbuilder\constant\error.go * @Description: * * Copyright (c) 2025 by kamalyes, All Rights Reserved.
* @Author: kamalyes 501893067@qq.com * @Date: 2025-11-11 00:00:00 * @LastEditors: kamalyes 501893067@qq.com * @LastEditTime: 2025-11-13 11:03:15 * @FilePath: \go-sqlbuilder\constant\error.go * @Description: * * Copyright (c) 2025 by kamalyes, All Rights Reserved.
* @Author: kamalyes 501893067@qq.com * @Date: 2025-11-11 00:00:00 * @LastEditors: kamalyes 501893067@qq.com * @LastEditTime: 2025-11-13 11:03:15 * @FilePath: \go-sqlbuilder\constant\error.go * @Description: * * Copyright (c) 2025 by kamalyes, All Rights Reserved.
Index ¶
- type ComparedColumn
- type ComparedValue
- type Filter
- type FilterApplier
- type FilterBuilder
- func (fb *FilterBuilder) AddBETWEEN(field string, value interface{}) *FilterBuilder
- func (fb *FilterBuilder) AddEQ(field string, value interface{}) *FilterBuilder
- func (fb *FilterBuilder) AddFIND_IN_SET(field string, value interface{}) *FilterBuilder
- func (fb *FilterBuilder) AddFilter(field string, operator constant.Operator, value interface{}) *FilterBuilder
- func (fb *FilterBuilder) AddGT(field string, value interface{}) *FilterBuilder
- func (fb *FilterBuilder) AddGTE(field string, value interface{}) *FilterBuilder
- func (fb *FilterBuilder) AddIN(field string, value interface{}) *FilterBuilder
- func (fb *FilterBuilder) AddIS_NOT_NULL(field string) *FilterBuilder
- func (fb *FilterBuilder) AddIS_NULL(field string) *FilterBuilder
- func (fb *FilterBuilder) AddLIKE(field string, value interface{}) *FilterBuilder
- func (fb *FilterBuilder) AddLT(field string, value interface{}) *FilterBuilder
- func (fb *FilterBuilder) AddLTE(field string, value interface{}) *FilterBuilder
- func (fb *FilterBuilder) AddNEQ(field string, value interface{}) *FilterBuilder
- func (fb *FilterBuilder) AddNOT_IN(field string, value interface{}) *FilterBuilder
- func (fb *FilterBuilder) AddNOT_LIKE(field string, value interface{}) *FilterBuilder
- func (fb *FilterBuilder) Build() []Filter
- func (fb *FilterBuilder) Clear() *FilterBuilder
- type OperatorTranslator
- func (ot *OperatorTranslator) IsComparisonOperator(op constant.Operator) bool
- func (ot *OperatorTranslator) IsNullOperator(op constant.Operator) bool
- func (ot *OperatorTranslator) IsSetOperator(op constant.Operator) bool
- func (ot *OperatorTranslator) IsSpecialOperator(op constant.Operator) bool
- func (ot *OperatorTranslator) IsStringOperator(op constant.Operator) bool
- func (ot *OperatorTranslator) RequiresValue(op constant.Operator) bool
- func (ot *OperatorTranslator) Translate(op interface{}) (constant.Operator, error)
- type OrderApplier
- type OrderBuilder
- type OrderBy
- type Pagination
- type PaginationApplier
- type PaginationBuilder
- func (pb *PaginationBuilder) Build() *Pagination
- func (pb *PaginationBuilder) Limit(limit int) *PaginationBuilder
- func (pb *PaginationBuilder) Offset(offset int) *PaginationBuilder
- func (pb *PaginationBuilder) Page(page int) *PaginationBuilder
- func (pb *PaginationBuilder) PageSize(pageSize int) *PaginationBuilder
- type QueryApplier
- func (qa *QueryApplier) ApplyCondition(query *gorm.DB, condition *QueryCondition) (*gorm.DB, error)
- func (qa *QueryApplier) ApplyFilters(query *gorm.DB, filters []Filter) (*gorm.DB, error)
- func (qa *QueryApplier) ApplyOrders(query *gorm.DB, orders []OrderBy) (*gorm.DB, error)
- func (qa *QueryApplier) ApplyPagination(query *gorm.DB, pagination *Pagination) (*gorm.DB, error)
- type QueryCondition
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ComparedColumn ¶
type ComparedValue ¶
type ComparedValue struct {
Value interface{}
IsRaw bool
}
type FilterApplier ¶
type FilterApplier struct {
// contains filtered or unexported fields
}
func NewFilterApplier ¶
func NewFilterApplier() *FilterApplier
func (*FilterApplier) ApplyFilters ¶
type FilterBuilder ¶
type FilterBuilder struct {
// contains filtered or unexported fields
}
func NewFilterBuilder ¶
func NewFilterBuilder() *FilterBuilder
func (*FilterBuilder) AddBETWEEN ¶
func (fb *FilterBuilder) AddBETWEEN(field string, value interface{}) *FilterBuilder
func (*FilterBuilder) AddEQ ¶
func (fb *FilterBuilder) AddEQ(field string, value interface{}) *FilterBuilder
func (*FilterBuilder) AddFIND_IN_SET ¶
func (fb *FilterBuilder) AddFIND_IN_SET(field string, value interface{}) *FilterBuilder
func (*FilterBuilder) AddFilter ¶
func (fb *FilterBuilder) AddFilter(field string, operator constant.Operator, value interface{}) *FilterBuilder
func (*FilterBuilder) AddGT ¶
func (fb *FilterBuilder) AddGT(field string, value interface{}) *FilterBuilder
func (*FilterBuilder) AddGTE ¶
func (fb *FilterBuilder) AddGTE(field string, value interface{}) *FilterBuilder
func (*FilterBuilder) AddIN ¶
func (fb *FilterBuilder) AddIN(field string, value interface{}) *FilterBuilder
func (*FilterBuilder) AddIS_NOT_NULL ¶
func (fb *FilterBuilder) AddIS_NOT_NULL(field string) *FilterBuilder
func (*FilterBuilder) AddIS_NULL ¶
func (fb *FilterBuilder) AddIS_NULL(field string) *FilterBuilder
func (*FilterBuilder) AddLIKE ¶
func (fb *FilterBuilder) AddLIKE(field string, value interface{}) *FilterBuilder
func (*FilterBuilder) AddLT ¶
func (fb *FilterBuilder) AddLT(field string, value interface{}) *FilterBuilder
func (*FilterBuilder) AddLTE ¶
func (fb *FilterBuilder) AddLTE(field string, value interface{}) *FilterBuilder
func (*FilterBuilder) AddNEQ ¶
func (fb *FilterBuilder) AddNEQ(field string, value interface{}) *FilterBuilder
func (*FilterBuilder) AddNOT_IN ¶
func (fb *FilterBuilder) AddNOT_IN(field string, value interface{}) *FilterBuilder
func (*FilterBuilder) AddNOT_LIKE ¶
func (fb *FilterBuilder) AddNOT_LIKE(field string, value interface{}) *FilterBuilder
func (*FilterBuilder) Build ¶
func (fb *FilterBuilder) Build() []Filter
func (*FilterBuilder) Clear ¶
func (fb *FilterBuilder) Clear() *FilterBuilder
type OperatorTranslator ¶
type OperatorTranslator struct{}
func NewOperatorTranslator ¶
func NewOperatorTranslator() *OperatorTranslator
func (*OperatorTranslator) IsComparisonOperator ¶
func (ot *OperatorTranslator) IsComparisonOperator(op constant.Operator) bool
func (*OperatorTranslator) IsNullOperator ¶
func (ot *OperatorTranslator) IsNullOperator(op constant.Operator) bool
func (*OperatorTranslator) IsSetOperator ¶
func (ot *OperatorTranslator) IsSetOperator(op constant.Operator) bool
func (*OperatorTranslator) IsSpecialOperator ¶
func (ot *OperatorTranslator) IsSpecialOperator(op constant.Operator) bool
func (*OperatorTranslator) IsStringOperator ¶
func (ot *OperatorTranslator) IsStringOperator(op constant.Operator) bool
func (*OperatorTranslator) RequiresValue ¶
func (ot *OperatorTranslator) RequiresValue(op constant.Operator) bool
type OrderApplier ¶
type OrderApplier struct{}
func NewOrderApplier ¶
func NewOrderApplier() *OrderApplier
func (*OrderApplier) ApplyOrders ¶
type OrderBuilder ¶
type OrderBuilder struct {
// contains filtered or unexported fields
}
func NewOrderBuilder ¶
func NewOrderBuilder() *OrderBuilder
func (*OrderBuilder) AddOrder ¶
func (ob *OrderBuilder) AddOrder(field string, order string) *OrderBuilder
func (*OrderBuilder) Asc ¶
func (ob *OrderBuilder) Asc(field string) *OrderBuilder
func (*OrderBuilder) Build ¶
func (ob *OrderBuilder) Build() []OrderBy
func (*OrderBuilder) Clear ¶
func (ob *OrderBuilder) Clear() *OrderBuilder
func (*OrderBuilder) Desc ¶
func (ob *OrderBuilder) Desc(field string) *OrderBuilder
type PaginationApplier ¶
type PaginationApplier struct{}
func NewPaginationApplier ¶
func NewPaginationApplier() *PaginationApplier
func (*PaginationApplier) Apply ¶
func (pa *PaginationApplier) Apply(query *gorm.DB, pagination *Pagination) (*gorm.DB, error)
type PaginationBuilder ¶
type PaginationBuilder struct {
// contains filtered or unexported fields
}
func NewPaginationBuilder ¶
func NewPaginationBuilder() *PaginationBuilder
func (*PaginationBuilder) Build ¶
func (pb *PaginationBuilder) Build() *Pagination
func (*PaginationBuilder) Limit ¶
func (pb *PaginationBuilder) Limit(limit int) *PaginationBuilder
func (*PaginationBuilder) Offset ¶
func (pb *PaginationBuilder) Offset(offset int) *PaginationBuilder
func (*PaginationBuilder) Page ¶
func (pb *PaginationBuilder) Page(page int) *PaginationBuilder
func (*PaginationBuilder) PageSize ¶
func (pb *PaginationBuilder) PageSize(pageSize int) *PaginationBuilder
type QueryApplier ¶
type QueryApplier struct {
// contains filtered or unexported fields
}
func NewQueryApplier ¶
func NewQueryApplier() *QueryApplier
func (*QueryApplier) ApplyCondition ¶
func (qa *QueryApplier) ApplyCondition(query *gorm.DB, condition *QueryCondition) (*gorm.DB, error)
func (*QueryApplier) ApplyFilters ¶
func (*QueryApplier) ApplyOrders ¶
func (*QueryApplier) ApplyPagination ¶
func (qa *QueryApplier) ApplyPagination(query *gorm.DB, pagination *Pagination) (*gorm.DB, error)
type QueryCondition ¶
type QueryCondition struct {
Filters []Filter
Orders []OrderBy
Pagination *Pagination
}