ch9.2-9.3
This commit is contained in:
19
internal/data/filters.go
Normal file
19
internal/data/filters.go
Normal file
@@ -0,0 +1,19 @@
|
||||
package data
|
||||
|
||||
import "gitea.local.lab/Lbenedar/greenlight/internal/validator"
|
||||
|
||||
type Filters struct {
|
||||
Page int
|
||||
PageSize int
|
||||
Sort string
|
||||
SortSafelist []string
|
||||
}
|
||||
|
||||
func ValidateFilters(v *validator.Validator, f Filters) {
|
||||
v.Check(f.Page > 0, "page", "must be greater than zero")
|
||||
v.Check(f.Page <= 10_000_000, "page", "must be a maximum of 10 million")
|
||||
v.Check(f.PageSize > 0, "page_size", "must be greater than zero")
|
||||
v.Check(f.PageSize <= 100, "page_size", "must be a maximum of 100")
|
||||
|
||||
v.Check(validator.PermittedValue(f.Sort, f.SortSafelist...), "sort", "invalid sort values")
|
||||
}
|
||||
Reference in New Issue
Block a user