diff options
Diffstat (limited to 'src/orchestrator/pkg/infra')
-rw-r--r-- | src/orchestrator/pkg/infra/validation/validation.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/orchestrator/pkg/infra/validation/validation.go b/src/orchestrator/pkg/infra/validation/validation.go index 448ea5de..c43d29ec 100644 --- a/src/orchestrator/pkg/infra/validation/validation.go +++ b/src/orchestrator/pkg/infra/validation/validation.go @@ -23,6 +23,7 @@ import ( "io" "net" "regexp" + "strconv" "strings" pkgerrors "github.com/pkg/errors" @@ -280,6 +281,28 @@ func IsValidNumber(value, min, max int) []string { return errs } +func IsValidNumberStr(value string, min, max int) []string { + var errs []string + + if min > max { + errs = append(errs, "invalid constraints") + return errs + } + + n, err := strconv.Atoi(value) + if err != nil { + errs = append(errs, err.Error()) + return errs + } + if n < min { + errs = append(errs, "value less than minimum") + } + if n > max { + errs = append(errs, "value greater than maximum") + } + return errs +} + /* IsValidParameterPresent method takes in a vars map and a array of string parameters that you expect to be present in the GET request. |