sipd-master/utils/strUtility.go
2025-09-16 08:26:35 +07:00

28 lines
628 B
Go

package utils
import (
"errors"
"strings"
)
func ValidateAndReturnFilterMap(filter string, fields []string) (map[string]string, error) {
splits := strings.Split(filter, ".")
if len(splits) != 2 {
return nil, errors.New("malformed sortBy query parameter, should be field.orderdirection")
}
field, value := splits[0], splits[1]
if !StringInSlice(fields, field) {
return nil, errors.New("unknown field in filter query parameter")
}
return map[string]string{field: value}, nil
}
func StringInSlice(strSlice []string, s string) bool {
for _, v := range strSlice {
if v == s {
return true
}
}
return false
}