[#142] Fix multipart-objects download
All checks were successful
/ DCO (pull_request) Successful in 1m11s
/ Builds (pull_request) Successful in 59s
/ Vulncheck (pull_request) Successful in 1m35s
/ Lint (pull_request) Successful in 2m9s
/ Tests (pull_request) Successful in 59s

Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
This commit is contained in:
Nikita Zinkevich 2024-09-18 07:35:26 +03:00
parent 77eb474581
commit 02cf52dd57
14 changed files with 635 additions and 85 deletions

41
internal/data/object.go Normal file
View file

@ -0,0 +1,41 @@
package data
import (
"time"
cid "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/container/id"
oid "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/object/id"
)
type (
ObjectInfo struct {
ID oid.ID
CID cid.ID
Bucket string
Name string
Size uint64
Headers map[string]string
}
// PartInfo is upload information about part.
PartInfo struct {
Key string `json:"key"`
UploadID string `json:"uploadId"`
Number int `json:"number"`
OID oid.ID `json:"oid"`
Size uint64 `json:"size"`
ETag string `json:"etag"`
MD5 string `json:"md5"`
Created time.Time `json:"created"`
}
)
// Address returns object address.
func (o *ObjectInfo) Address() oid.Address {
var addr oid.Address
addr.SetContainer(o.CID)
addr.SetObject(o.ID)
return addr
}