wms-be/modules/inventory_request/query/inventory_request_query.go

27 lines
631 B
Go

package query
import (
"gorm.io/gorm"
)
type InventoryRequestFilter struct {
ClientID string `form:"client_id"`
RequestType string `form:"request_type"`
PerPage int `form:"per_page"`
Page int `form:"page"`
Status string `form:"status"`
}
func ApplyInventoryRequestFilters(db *gorm.DB, filter InventoryRequestFilter) *gorm.DB {
if filter.ClientID != "" {
db = db.Where("client_id = ?", filter.ClientID)
}
if filter.RequestType != "" {
db = db.Where("request_type ILIKE ?", "%"+filter.RequestType+"%")
}
if filter.Status != "" {
db = db.Where("status = ?", filter.Status)
}
return db
}