summaryrefslogtreecommitdiff
path: root/internal/client/input/b2.go
diff refs
from: back
to: back
| flip
diff options
context:
space:
mode:
Diffstat (limited to 'internal/client/input/b2.go')
-rw-r--r--internal/client/input/b2.go12
1 files changed, 8 insertions, 4 deletions
diff --git a/internal/client/input/b2.go b/internal/client/input/b2.go
index 54a6b09..fe94333 100644
--- a/internal/client/input/b2.go
+++ b/internal/client/input/b2.go
@@ -5,7 +5,6 @@ import (
"fmt"
"io"
"slices"
- "strconv"
"strings"
"github.com/Backblaze/blazer/b2"
@@ -17,11 +16,12 @@ var _ InputClient = (*B2InputClient)(nil)
type B2InputClient struct {
prefix string
bucket *b2.Bucket
+ bucketName string
b2cl *b2.Client
knownExtensions []string
}
-func NewB2InputClient(cfg *config.InputConfig) (*B2InputClient, error) {
+func NewB2InputClient(cfg *config.InputConfig) (InputClient, error) {
if cfg.Storage.Type != "b2" {
return nil, fmt.Errorf("invalid storage type for B2InputClient")
}
@@ -37,7 +37,7 @@ func NewB2InputClient(cfg *config.InputConfig) (*B2InputClient, error) {
return nil, err
}
- return &B2InputClient{b2cl: b2cl, bucket: bucket, prefix: b2cfg.Prefix, knownExtensions: cfg.KnownExtensions}, nil
+ return &B2InputClient{b2cl: b2cl, bucket: bucket, bucketName: b2cfg.BucketName, prefix: b2cfg.Prefix, knownExtensions: cfg.KnownExtensions}, nil
}
func (c *B2InputClient) Scan() ([]string, error) {
@@ -102,8 +102,8 @@ func (c *B2InputClient) ReadMetadata(path string) (*MetadataStruct, error) {
FirstCreated: attrs.UploadTimestamp,
LastModified: attrs.LastModified,
Misc: attrs.Info,
+ Size: attrs.Size,
}
- metadata.Misc["Size"] = strconv.FormatInt(attrs.Size, 10)
switch attrs.Status {
case b2.Uploaded:
@@ -121,6 +121,10 @@ func (c *B2InputClient) ReadMetadata(path string) (*MetadataStruct, error) {
return &metadata, nil
}
+func (c *B2InputClient) ID(path string) string {
+ return fmt.Sprintf("b2://%s/%s%s", c.bucketName, c.prefix, path)
+}
+
func (c *B2InputClient) GetReader(path string) (io.ReadCloser, error) {
obj := c.bucket.Object(c.prefix + path)
if obj == nil {