(orderBy string)
| 960 | } |
| 961 | |
| 962 | func GetInstanceOrders(orderBy string) ([]*OrderByKey, error) { |
| 963 | keys, err := parseOrderBy(orderBy) |
| 964 | if err != nil { |
| 965 | return nil, err |
| 966 | } |
| 967 | |
| 968 | orderByKeys := []*OrderByKey{} |
| 969 | for _, orderByKey := range keys { |
| 970 | switch orderByKey.Key { |
| 971 | case "title": |
| 972 | orderByKeys = append(orderByKeys, &OrderByKey{ |
| 973 | Key: "instance.metadata->>'title'", |
| 974 | SortOrder: orderByKey.SortOrder, |
| 975 | }) |
| 976 | case "environment": |
| 977 | orderByKeys = append(orderByKeys, &OrderByKey{ |
| 978 | Key: "instance.environment", |
| 979 | SortOrder: orderByKey.SortOrder, |
| 980 | }) |
| 981 | default: |
| 982 | return nil, errors.Errorf(`invalid order key "%v"`, orderByKey.Key) |
| 983 | } |
| 984 | } |
| 985 | |
| 986 | return orderByKeys, nil |
| 987 | } |
no test coverage detected