Make PrmContainerEACL fields public #145

Merged
fyrchik merged 2 commits from aarifullin/frostfs-sdk-go:feature/121-prm_eacl into master 2023-08-16 09:53:52 +00:00
2 changed files with 18 additions and 12 deletions

View file

@ -17,26 +17,31 @@ import (
// PrmContainerEACL groups parameters of ContainerEACL operation.
type PrmContainerEACL struct {
prmCommonMeta
// FrostFS request X-Headers.
XHeaders []string
idSet bool
id cid.ID
ContainerID *cid.ID
}
// SetContainer sets identifier of the FrostFS container to read the eACL table.
// Required parameter.
//
// Deprecated: Use PrmContainerEACL.ContainerID instead.
func (x *PrmContainerEACL) SetContainer(id cid.ID) {
x.id = id
x.idSet = true
x.ContainerID = &id
}
func (x *PrmContainerEACL) buildRequest(c *Client) (*v2container.GetExtendedACLRequest, error) {
if !x.idSet {
if x.ContainerID == nil {
return nil, errorMissingContainer
}
if len(x.XHeaders)%2 != 0 {
return nil, errorInvalidXHeaders
}
var cidV2 refs.ContainerID
x.id.WriteToV2(&cidV2)
x.ContainerID.WriteToV2(&cidV2)
reqBody := new(v2container.GetExtendedACLRequestBody)
reqBody.SetContainerID(&cidV2)

View file

@ -523,8 +523,9 @@ func (c *clientWrapper) containerEACL(ctx context.Context, prm PrmContainerEACL)
return eacl.Table{}, err
}
var cliPrm sdkClient.PrmContainerEACL
cliPrm.SetContainer(prm.cnrID)
cliPrm := sdkClient.PrmContainerEACL{
ContainerID: &prm.ContainerID,
}
start := time.Now()
res, err := cl.ContainerEACL(ctx, cliPrm)
@ -1521,12 +1522,12 @@ func (x *PrmContainerDelete) SetWaitParams(waitParams WaitParams) {
// PrmContainerEACL groups parameters of GetEACL operation.
type PrmContainerEACL struct {
cnrID cid.ID
ContainerID cid.ID
}
// SetContainerID specifies identifier of the FrostFS container to read the eACL table.
func (x *PrmContainerEACL) SetContainerID(cnrID cid.ID) {
x.cnrID = cnrID
x.ContainerID = cnrID
}
// PrmContainerSetEACL groups parameters of SetEACL operation.
@ -2514,7 +2515,7 @@ func waitForContainerPresence(ctx context.Context, cli client, cnrID cid.ID, wai
func waitForEACLPresence(ctx context.Context, cli client, cnrID *cid.ID, table *eacl.Table, waitParams *WaitParams) error {
var prm PrmContainerEACL
if cnrID != nil {
dkirillov marked this conversation as resolved Outdated

It seems we have to check if cnrID isn't nil

It seems we have to check if `cnrID` isn't `nil`

You're right. I ignored the check

You're right. I ignored the check
prm.SetContainerID(*cnrID)
prm.ContainerID = *cnrID
}

Not functional but why don't we write prm.ContainerID = *cnrID (we have already initialized prm above)?

Not functional but why don't we write `prm.ContainerID = *cnrID` (we have already initialized `prm` above)?

Okay, fixed 👍

Okay, fixed 👍
return waitFor(ctx, waitParams, func(ctx context.Context) bool {