diff --git a/pkg/morph/client/container/client.go b/pkg/morph/client/container/client.go index e7feca62e2..32d956d435 100644 --- a/pkg/morph/client/container/client.go +++ b/pkg/morph/client/container/client.go @@ -42,6 +42,7 @@ const ( addNextEpochNodes = "addNextEpochNodes" commitContainerListUpdate = "commitContainerListUpdate" + submitObjectPutMethod = "submitObjectPut" ) var ( diff --git a/pkg/morph/client/container/meta.go b/pkg/morph/client/container/meta.go new file mode 100644 index 0000000000..2afe4283f1 --- /dev/null +++ b/pkg/morph/client/container/meta.go @@ -0,0 +1,27 @@ +package container + +import ( + "fmt" + + "github.com/nspcc-dev/neofs-node/pkg/morph/client" +) + +// SubmitObjectPut puts object meta information. +// +// Returns any error encountered that caused the saving to interrupt. +func (c *Client) SubmitObjectPut(meta []byte, sigs [][]byte) error { + if len(meta) == 0 || len(sigs) == 0 { + return errNilArgument + } + + var prm client.InvokePrm + prm.SetMethod(submitObjectPutMethod) + prm.SetArgs(meta, sigs) + + err := c.client.Invoke(prm) + if err != nil { + return fmt.Errorf("could not invoke method (%s): %w", submitObjectPutMethod, err) + } + + return nil +}