refactor: add support for using a passed cid type
This commit is contained in:
parent
217bb78b3b
commit
f63d567b53
|
@ -27,6 +27,7 @@ type S5File struct {
|
||||||
record *metadata.UploadMetadata
|
record *metadata.UploadMetadata
|
||||||
protocol *s5.S5Protocol
|
protocol *s5.S5Protocol
|
||||||
cid *encoding.CID
|
cid *encoding.CID
|
||||||
|
typ types.CIDType
|
||||||
read bool
|
read bool
|
||||||
tus *s5.TusHandler
|
tus *s5.TusHandler
|
||||||
ctx context.Context
|
ctx context.Context
|
||||||
|
@ -36,6 +37,7 @@ type FileParams struct {
|
||||||
Storage storage.StorageService
|
Storage storage.StorageService
|
||||||
Metadata metadata.MetadataService
|
Metadata metadata.MetadataService
|
||||||
Hash []byte
|
Hash []byte
|
||||||
|
Type types.CIDType
|
||||||
Protocol *s5.S5Protocol
|
Protocol *s5.S5Protocol
|
||||||
Tus *s5.TusHandler
|
Tus *s5.TusHandler
|
||||||
}
|
}
|
||||||
|
@ -45,6 +47,7 @@ func NewFile(params FileParams) *S5File {
|
||||||
storage: params.Storage,
|
storage: params.Storage,
|
||||||
metadata: params.Metadata,
|
metadata: params.Metadata,
|
||||||
hash: params.Hash,
|
hash: params.Hash,
|
||||||
|
typ: params.Type,
|
||||||
protocol: params.Protocol,
|
protocol: params.Protocol,
|
||||||
tus: params.Tus,
|
tus: params.Tus,
|
||||||
ctx: context.Background(),
|
ctx: context.Background(),
|
||||||
|
@ -112,7 +115,6 @@ func (f *S5File) Close() error {
|
||||||
|
|
||||||
func (f *S5File) init(offset int64) error {
|
func (f *S5File) init(offset int64) error {
|
||||||
if f.reader == nil {
|
if f.reader == nil {
|
||||||
|
|
||||||
reader, err := f.tus.GetUploadReader(f.ctx, f.hash, offset)
|
reader, err := f.tus.GetUploadReader(f.ctx, f.hash, offset)
|
||||||
|
|
||||||
if err == nil {
|
if err == nil {
|
||||||
|
@ -196,7 +198,13 @@ func (f *S5File) Size() uint64 {
|
||||||
func (f *S5File) CID() *encoding.CID {
|
func (f *S5File) CID() *encoding.CID {
|
||||||
if f.cid == nil {
|
if f.cid == nil {
|
||||||
multihash := encoding.MultihashFromBytes(f.Hash(), types.HashTypeBlake3)
|
multihash := encoding.MultihashFromBytes(f.Hash(), types.HashTypeBlake3)
|
||||||
cid := encoding.NewCID(types.CIDTypeRaw, *multihash, f.Size())
|
|
||||||
|
typ := f.typ
|
||||||
|
if typ == 0 {
|
||||||
|
typ = types.CIDTypeRaw
|
||||||
|
}
|
||||||
|
|
||||||
|
cid := encoding.NewCID(typ, *multihash, f.Size())
|
||||||
f.cid = cid
|
f.cid = cid
|
||||||
}
|
}
|
||||||
return f.cid
|
return f.cid
|
||||||
|
|
Loading…
Reference in New Issue