ch9.6
This commit is contained in:
@@ -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"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user