diff --git a/cmd/neofs-cli/modules/storagegroup/get.go b/cmd/neofs-cli/modules/storagegroup/get.go index 6f6509bf3..ab63ab1bd 100644 --- a/cmd/neofs-cli/modules/storagegroup/get.go +++ b/cmd/neofs-cli/modules/storagegroup/get.go @@ -11,7 +11,7 @@ import ( sessionCli "github.com/nspcc-dev/neofs-node/cmd/neofs-cli/modules/session" cid "github.com/nspcc-dev/neofs-sdk-go/container/id" oid "github.com/nspcc-dev/neofs-sdk-go/object/id" - storagegroupAPI "github.com/nspcc-dev/neofs-sdk-go/storagegroup" + storagegroupSDK "github.com/nspcc-dev/neofs-sdk-go/storagegroup" "github.com/spf13/cobra" ) @@ -55,13 +55,16 @@ func getSG(cmd *cobra.Command, _ []string) { prm.SetAddress(addr) prm.SetPayloadWriter(buf) - _, err := internalclient.GetObject(prm) + res, err := internalclient.GetObject(prm) common.ExitOnErr(cmd, "rpc error: %w", err) - var sg storagegroupAPI.StorageGroup + rawObj := res.Header() + rawObj.SetPayload(buf.Bytes()) - err = sg.Unmarshal(buf.Bytes()) - common.ExitOnErr(cmd, "could not unmarshal storage group: %w", err) + var sg storagegroupSDK.StorageGroup + + err = storagegroupSDK.ReadFromObject(&sg, *rawObj) + common.ExitOnErr(cmd, "could not read storage group from the obj: %w", err) cmd.Printf("Expiration epoch: %d\n", sg.ExpirationEpoch()) cmd.Printf("Group size: %d\n", sg.ValidationDataSize()) diff --git a/cmd/neofs-cli/modules/storagegroup/put.go b/cmd/neofs-cli/modules/storagegroup/put.go index d70398883..f5d7244ca 100644 --- a/cmd/neofs-cli/modules/storagegroup/put.go +++ b/cmd/neofs-cli/modules/storagegroup/put.go @@ -16,6 +16,7 @@ import ( "github.com/nspcc-dev/neofs-sdk-go/object" oid "github.com/nspcc-dev/neofs-sdk-go/object/id" oidSDK "github.com/nspcc-dev/neofs-sdk-go/object/id" + storagegroupSDK "github.com/nspcc-dev/neofs-sdk-go/storagegroup" "github.com/nspcc-dev/neofs-sdk-go/user" "github.com/spf13/cobra" ) @@ -77,16 +78,14 @@ func putSG(cmd *cobra.Command, _ []string) { }, cnr, members) common.ExitOnErr(cmd, "could not collect storage group members: %w", err) - sgContent, err := sg.Marshal() - common.ExitOnErr(cmd, "could not marshal storage group: %w", err) - obj := object.New() obj.SetContainerID(cnr) obj.SetOwnerID(&ownerID) - obj.SetType(object.TypeStorageGroup) + + storagegroupSDK.WriteToObject(*sg, obj) putPrm.SetHeader(obj) - putPrm.SetPayloadReader(bytes.NewReader(sgContent)) + putPrm.SetPayloadReader(bytes.NewReader(obj.Payload())) res, err := internalclient.PutObject(putPrm) common.ExitOnErr(cmd, "rpc error: %w", err)