[#121] client: Make PrmContainerList fields public #181

Merged
fyrchik merged 2 commits from aarifullin/frostfs-sdk-go:feature/121-prm_cnr_list into master 2024-09-04 19:51:15 +00:00
3 changed files with 10 additions and 27 deletions

View file

@ -24,24 +24,6 @@ func (x statusRes) Status() apistatus.Status {
return x.st return x.st
} }
// groups meta parameters shared between all Client operations.
type prmCommonMeta struct {
// FrostFS request X-Headers
xHeaders []string
}
// WithXHeaders specifies list of extended headers (string key-value pairs)
// to be attached to the request. Must have an even length.
//
// Slice must not be mutated until the operation completes.
func (x *prmCommonMeta) WithXHeaders(hs ...string) {
if len(hs)%2 != 0 {
panic("slice of X-Headers with odd length")
}
x.xHeaders = hs
}
func writeXHeadersToMeta(xHeaders []string, h *v2session.RequestMetaHeader) { func writeXHeadersToMeta(xHeaders []string, h *v2session.RequestMetaHeader) {
if len(xHeaders) == 0 { if len(xHeaders) == 0 {
return return

View file

@ -17,26 +17,26 @@ import (
// PrmContainerList groups parameters of ContainerList operation. // PrmContainerList groups parameters of ContainerList operation.
type PrmContainerList struct { type PrmContainerList struct {
prmCommonMeta XHeaders []string
ownerSet bool Account *user.ID
ownerID user.ID
} }
// SetAccount sets identifier of the FrostFS account to list the containers. // SetAccount sets identifier of the FrostFS account to list the containers.
// Required parameter. // Required parameter.
//
// Deprecated: Use PrmContainerList.Account instead.
func (x *PrmContainerList) SetAccount(id user.ID) { func (x *PrmContainerList) SetAccount(id user.ID) {
x.ownerID = id x.Account = &id
x.ownerSet = true
} }
func (x *PrmContainerList) buildRequest(c *Client) (*v2container.ListRequest, error) { func (x *PrmContainerList) buildRequest(c *Client) (*v2container.ListRequest, error) {
if !x.ownerSet { if x.Account == nil {
return nil, errorAccountNotSet return nil, errorAccountNotSet
} }
var ownerV2 refs.OwnerID var ownerV2 refs.OwnerID
x.ownerID.WriteToV2(&ownerV2) x.Account.WriteToV2(&ownerV2)
reqBody := new(v2container.ListRequestBody) reqBody := new(v2container.ListRequestBody)
reqBody.SetOwnerID(&ownerV2) reqBody.SetOwnerID(&ownerV2)

View file

@ -503,8 +503,9 @@ func (c *clientWrapper) containerList(ctx context.Context, prm PrmContainerList)
return nil, err return nil, err
} }
var cliPrm sdkClient.PrmContainerList cliPrm := sdkClient.PrmContainerList{
cliPrm.SetAccount(prm.ownerID) Account: &prm.ownerID,
}
start := time.Now() start := time.Now()
res, err := cl.ContainerList(ctx, cliPrm) res, err := cl.ContainerList(ctx, cliPrm)