diff --git a/pkg/extension/schema.go b/pkg/extension/schema.go index cf71a4568c8ed734bda41e344936b728a8ed8b99..1e44488e0918776fbe770f52b333bba8828317e8 100644 --- a/pkg/extension/schema.go +++ b/pkg/extension/schema.go @@ -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 } diff --git a/pkg/extension/schema_test.go b/pkg/extension/schema_test.go index b15a210045b85ef7349cbdaad3b7365eb6c411a0..7d33a4b5ef724ad2e2a9dc98723b39f8139a46b2 100644 --- a/pkg/extension/schema_test.go +++ b/pkg/extension/schema_test.go @@ -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)}, }, }, }