This commit is contained in:
lbenedar
2026-03-18 17:47:26 +03:00
parent c4df79dffa
commit a309576cfb
2 changed files with 25 additions and 3 deletions

View File

@@ -1,6 +1,10 @@
package data
import "gitea.local.lab/Lbenedar/greenlight/internal/validator"
import (
"strings"
"gitea.local.lab/Lbenedar/greenlight/internal/validator"
)
type Filters struct {
Page int
@@ -17,3 +21,20 @@ func ValidateFilters(v *validator.Validator, f Filters) {
v.Check(validator.PermittedValue(f.Sort, f.SortSafelist...), "sort", "invalid sort values")
}
func (f Filters) sortColumn() string {
for _, safeValue := range f.SortSafelist {
if f.Sort == safeValue {
return strings.TrimPrefix(f.Sort, "-")
}
}
panic("unsafe sort parameter: " + f.Sort)
}
func (f Filters) sortDirection() string {
if strings.HasPrefix(f.Sort, "-") {
return "DESC"
}
return "ASC"
}