Dawid Wysokiński
d244dc69bf
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: twhelp/core#140
37 lines
582 B
Go
37 lines
582 B
Go
package service
|
|
|
|
import "gitea.dwysokinski.me/twhelp/core/internal/domain"
|
|
|
|
//go:generate counterfeiter -generate
|
|
|
|
func validatePagination(p domain.Pagination, maxLimit int32) error {
|
|
if p.Limit < 1 {
|
|
return domain.ValidationError{
|
|
Field: "limit",
|
|
Err: domain.MinError{
|
|
Min: 1,
|
|
},
|
|
}
|
|
}
|
|
|
|
if p.Limit > maxLimit {
|
|
return domain.ValidationError{
|
|
Field: "limit",
|
|
Err: domain.MaxError{
|
|
Max: int(maxLimit),
|
|
},
|
|
}
|
|
}
|
|
|
|
if p.Offset < 0 {
|
|
return domain.ValidationError{
|
|
Field: "offset",
|
|
Err: domain.MinError{
|
|
Min: 0,
|
|
},
|
|
}
|
|
}
|
|
|
|
return nil
|
|
}
|