Skip to content
Snippets Groups Projects
Commit 80aa7ca4 authored by Pavel Antonov's avatar Pavel Antonov :asterisk:
Browse files

Merge branch 'fix/PRXS-1652-FixGetEnumOpt' into 'master'

Исправлена ошибка в функции getEnumOpt, которая приводила к неверным enum значение в коллекции system_actions у полей kind и исправлена схема в менеджере расширений

See merge request perxis/perxis-go!101
parents c2276e84 79592b42
No related branches found
No related tags found
No related merge requests found
......@@ -22,7 +22,7 @@ const (
// NewActionsCollection - создает коллекцию для хранения действий расширений в пространстве
func NewActionsCollection(spaceID, envID string) *collections.Collection {
sch := schema.New(
"extension", field.String(validate.Required()).SetTitle("Расширение").SetTextSearch(true),
"extension", field.String().SetTitle("Расширение"),
"action", field.String(validate.Required()).SetTitle("Действия").SetTextSearch(true),
"target", field.Number(
field.NumberFormatInt,
......@@ -94,15 +94,17 @@ func NewActionsCollection(spaceID, envID string) *collections.Collection {
}
func getEnumOpt(opts map[int32]string) []validate.EnumOpt {
keys := make([]string, 0, len(opts))
for _, k := range opts {
keys := make([]int32, 0, len(opts))
for k := range opts {
keys = append(keys, k)
}
sort.Strings(keys)
sort.Slice(keys, func(i, j int) bool {
return keys[i] < keys[j]
})
enum := make([]validate.EnumOpt, len(opts))
for i, n := range keys {
enum[i] = validate.EnumOpt{Name: n, Value: float64(i)}
enum[i] = validate.EnumOpt{Name: opts[n], Value: float64(n)}
}
return enum
}
......
......@@ -17,10 +17,10 @@ func Test_getEnumOpt(t *testing.T) {
name: "#1",
opts: map[int32]string{1: "a", 2: "b", 3: "c", 1000: "w"},
want: []validate.EnumOpt{
{Name: "a", Value: float64(0)},
{Name: "b", Value: float64(1)},
{Name: "c", Value: float64(2)},
{Name: "w", Value: float64(3)},
{Name: "a", Value: float64(1)},
{Name: "b", Value: float64(2)},
{Name: "c", Value: float64(3)},
{Name: "w", Value: float64(1000)},
},
},
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment