filters

package
v0.0.0-...-05815ac Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 13, 2025 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Logic operators
	And LogicOperator = "AND"
	Or  LogicOperator = "OR"

	// Comparison operators
	OpEqual        ComparisonOperator = "="
	OpNotEqual     ComparisonOperator = "!="
	OpGreater      ComparisonOperator = ">"
	OpGreaterEqual ComparisonOperator = ">="
	OpLess         ComparisonOperator = "<"
	OpLessEqual    ComparisonOperator = "<="
	OpLike         ComparisonOperator = "LIKE"
	OpIn           ComparisonOperator = "IN"
	OpNotIn        ComparisonOperator = "NOT IN"

	// Sort directions
	Asc  SortDirection = "ASC"
	Desc SortDirection = "DESC"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type CityFilter

type CityFilter struct {
	Filter
	ID      *Condition
	StateID *Condition
	Name    *Condition
}

func (*CityFilter) GetConditions

func (f *CityFilter) GetConditions() []FilterCondition

func (*CityFilter) GetFilterQuery

func (f *CityFilter) GetFilterQuery(query *gorm.DB) *gorm.DB

type ComparisonOperator

type ComparisonOperator string

type Condition

type Condition struct {
	Operator ComparisonOperator
	Value    any
}

func (*Condition) ToFilterCondition

func (c *Condition) ToFilterCondition(field string) FilterCondition

type CountryFilter

type CountryFilter struct {
	Filter
	ID   *Condition
	Name *Condition
	Code *Condition
}

func (*CountryFilter) GetConditions

func (f *CountryFilter) GetConditions() []FilterCondition

func (*CountryFilter) GetFilterQuery

func (f *CountryFilter) GetFilterQuery(query *gorm.DB) *gorm.DB

type Filter

type Filter interface {
	GetConditions() []FilterCondition
	GetFilterQuery(query *gorm.DB, conditions []FilterCondition) *gorm.DB
}

type FilterCondition

type FilterCondition struct {
	Field string
	Condition
}

type GenreFilter

type GenreFilter struct {
	Filter
	ID   *Condition
	Name *Condition
}

func (*GenreFilter) GetConditions

func (f *GenreFilter) GetConditions() []FilterCondition

func (*GenreFilter) GetFilterQuery

func (f *GenreFilter) GetFilterQuery(query *gorm.DB) *gorm.DB

type LogicOperator

type LogicOperator string

type LoginTokenFilter

type LoginTokenFilter struct {
	Filter
	UserID     *Condition
	TokenValue *Condition
	ExpiresAt  *Condition
}

func (*LoginTokenFilter) GetConditions

func (f *LoginTokenFilter) GetConditions() []FilterCondition

func (*LoginTokenFilter) GetFilterQuery

func (f *LoginTokenFilter) GetFilterQuery(query *gorm.DB) *gorm.DB

type MovieFilter

type MovieFilter struct {
	Filter
	ID        *Condition
	IsActive  *Condition
	IsDeleted *Condition
}

func (*MovieFilter) GetConditions

func (f *MovieFilter) GetConditions() []FilterCondition

func (*MovieFilter) GetFilterQuery

func (f *MovieFilter) GetFilterQuery(query *gorm.DB) *gorm.DB

type MultiFilter

type MultiFilter struct {
	Logic  LogicOperator
	Limit  *int
	Offset *int
	Sort   []SortOption
}

func (*MultiFilter) GetConditions

func (f *MultiFilter) GetConditions() []FilterCondition

func (*MultiFilter) GetFilterQuery

func (f *MultiFilter) GetFilterQuery(query *gorm.DB, conditions []FilterCondition) *gorm.DB

type PasswordResetTokenFilter

type PasswordResetTokenFilter struct {
	Filter
	ID         *Condition
	UserID     *Condition
	TokenValue *Condition
	IsUsed     *Condition
	ExpiresAt  *Condition
}

func (*PasswordResetTokenFilter) GetConditions

func (f *PasswordResetTokenFilter) GetConditions() []FilterCondition

func (*PasswordResetTokenFilter) GetFilterQuery

func (f *PasswordResetTokenFilter) GetFilterQuery(query *gorm.DB) *gorm.DB

type SingleFilter

type SingleFilter struct {
	Logic LogicOperator
}

func (*SingleFilter) GetConditions

func (f *SingleFilter) GetConditions() []FilterCondition

func (*SingleFilter) GetFilterQuery

func (f *SingleFilter) GetFilterQuery(query *gorm.DB, conditions []FilterCondition) *gorm.DB

type SortDirection

type SortDirection string

type SortOption

type SortOption struct {
	Field     string
	Direction SortDirection
}

type StateFilter

type StateFilter struct {
	Filter
	ID        *Condition
	CountryID *Condition
	Name      *Condition
}

func (*StateFilter) GetConditions

func (f *StateFilter) GetConditions() []FilterCondition

func (*StateFilter) GetFilterQuery

func (f *StateFilter) GetFilterQuery(query *gorm.DB) *gorm.DB

type TheaterFilter

type TheaterFilter struct {
	Filter
	ID   *Condition
	Name *Condition
}

func (*TheaterFilter) GetConditions

func (f *TheaterFilter) GetConditions() []FilterCondition

func (*TheaterFilter) GetFilterQuery

func (f *TheaterFilter) GetFilterQuery(query *gorm.DB) *gorm.DB

type TheaterLocationFilter

type TheaterLocationFilter struct {
	Filter
	TheaterID *Condition
}

func (*TheaterLocationFilter) GetConditions

func (f *TheaterLocationFilter) GetConditions() []FilterCondition

func (*TheaterLocationFilter) GetFilterQuery

func (f *TheaterLocationFilter) GetFilterQuery(query *gorm.DB) *gorm.DB

type UserFilter

type UserFilter struct {
	Filter
	ID         *Condition
	Email      *Condition
	IsVerified *Condition
}

func (*UserFilter) GetConditions

func (f *UserFilter) GetConditions() []FilterCondition

func (*UserFilter) GetFilterQuery

func (f *UserFilter) GetFilterQuery(query *gorm.DB) *gorm.DB

type UserProfileFilter

type UserProfileFilter struct {
	Filter
	UserID *Condition
}

func (*UserProfileFilter) GetConditions

func (f *UserProfileFilter) GetConditions() []FilterCondition

func (*UserProfileFilter) GetFilterQuery

func (f *UserProfileFilter) GetFilterQuery(query *gorm.DB) *gorm.DB

type UserRegistrationTokenFilter

type UserRegistrationTokenFilter struct {
	Filter
	TokenValue *Condition
	IsUsed     *Condition
	ExpiresAt  *Condition
}

func (*UserRegistrationTokenFilter) GetConditions

func (f *UserRegistrationTokenFilter) GetConditions() []FilterCondition

func (*UserRegistrationTokenFilter) GetFilterQuery

func (f *UserRegistrationTokenFilter) GetFilterQuery(query *gorm.DB) *gorm.DB

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL