From b8c3c2486d13a2a2bcf4ea0b8b85c03571f80e57 Mon Sep 17 00:00:00 2001 From: Ekaterina Lebedeva Date: Mon, 25 Sep 2023 09:58:26 +0300 Subject: [PATCH] [#333] Sort containers by ID Signed-off-by: Ekaterina Lebedeva --- cmd/frostfs-cli/internal/client/client.go | 10 ++++++++++ cmd/frostfs-cli/modules/container/list.go | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/cmd/frostfs-cli/internal/client/client.go b/cmd/frostfs-cli/internal/client/client.go index 26d8aa83b..9cb7c8161 100644 --- a/cmd/frostfs-cli/internal/client/client.go +++ b/cmd/frostfs-cli/internal/client/client.go @@ -71,6 +71,16 @@ func ListContainers(ctx context.Context, prm ListContainersPrm) (res ListContain return } +// SortedIDList returns sorted list of identifiers of user's containers. +func (x ListContainersRes) SortedIDList() []cid.ID { + list := x.cliRes.Containers() + sort.Slice(list, func(i, j int) bool { + lhs, rhs := list[i].EncodeToString(), list[j].EncodeToString() + return strings.Compare(lhs, rhs) < 0 + }) + return list +} + // PutContainerPrm groups parameters of PutContainer operation. type PutContainerPrm struct { Client *client.Client diff --git a/cmd/frostfs-cli/modules/container/list.go b/cmd/frostfs-cli/modules/container/list.go index c8b891d32..1c7787760 100644 --- a/cmd/frostfs-cli/modules/container/list.go +++ b/cmd/frostfs-cli/modules/container/list.go @@ -56,7 +56,7 @@ var listContainersCmd = &cobra.Command{ Client: cli, } - containerIDs := res.IDList() + containerIDs := res.SortedIDList() for _, cnrID := range containerIDs { if flagVarListName == "" && !flagVarListPrintAttr { cmd.Println(cnrID.String())