frostfs-node/pkg/services/object/put/v2/util.go

48 lines
1.3 KiB
Go

package putsvc
import (
objectV2 "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/object"
refsV2 "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/refs"
putsvc "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/put"
"git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/util"
objectSDK "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/object"
)
func (s *streamer) toInitPrm(part *objectV2.PutObjectPartInit, req *objectV2.PutRequest) (*putsvc.PutInitPrm, error) {
oV2 := new(objectV2.Object)
oV2.SetObjectID(part.GetObjectID())
oV2.SetSignature(part.GetSignature())
oV2.SetHeader(part.GetHeader())
commonPrm, err := util.CommonPrmFromV2(req)
if err != nil {
return nil, err
}
return new(putsvc.PutInitPrm).
WithObject(
objectSDK.NewFromV2(oV2),
).
WithRelay(s.relayRequest).
WithCommonPrm(commonPrm).
WithCopyNumbers(part.GetCopiesNumber()), nil
}
func toChunkPrm(req *objectV2.PutObjectPartChunk) *putsvc.PutChunkPrm {
return new(putsvc.PutChunkPrm).
WithChunk(req.GetChunk())
}
func fromPutResponse(r *putsvc.PutResponse) *objectV2.PutResponse {
var idV2 refsV2.ObjectID
r.ObjectID().WriteToV2(&idV2)
body := new(objectV2.PutResponseBody)
body.SetObjectID(&idV2)
resp := new(objectV2.PutResponse)
resp.SetBody(body)
return resp
}