27 lines
713 B
Go
27 lines
713 B
Go
package query
|
|
|
|
import (
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
type AttSetFilter struct {
|
|
AttributSetInstance string `form:"attribut_set_instance"`
|
|
TransactionType string `form:"transaction_type"`
|
|
ClientID string `form:"client_id"`
|
|
PerPage int `form:"per_page"`
|
|
Page int `form:"page"`
|
|
}
|
|
|
|
func ApplyAttSetFilters(db *gorm.DB, filter AttSetFilter) *gorm.DB {
|
|
if filter.AttributSetInstance != "" {
|
|
db = db.Where("attribut_set_instance ILIKE ?", "%"+filter.AttributSetInstance+"%")
|
|
}
|
|
if filter.TransactionType != "" {
|
|
db = db.Where("transaction_type = ?", filter.TransactionType)
|
|
}
|
|
if filter.ClientID != "" {
|
|
db = db.Where("client_id = ?", filter.ClientID)
|
|
}
|
|
return db
|
|
}
|