summaryrefslogtreecommitdiff
path: root/internal/client/output/output_client_interface.go
diff refs
from: back
to: back
| flip
diff options
context:
space:
mode:
Diffstat (limited to 'internal/client/output/output_client_interface.go')
-rw-r--r--internal/client/output/output_client_interface.go12
1 files changed, 10 insertions, 2 deletions
diff --git a/internal/client/output/output_client_interface.go b/internal/client/output/output_client_interface.go
index 4ec4728..4415aa4 100644
--- a/internal/client/output/output_client_interface.go
+++ b/internal/client/output/output_client_interface.go
@@ -4,12 +4,13 @@ import (
"io"
"time"
+ "github.com/SayaAndy/saya-today-thumbnail-generator/config"
"github.com/SayaAndy/saya-today-thumbnail-generator/internal/client/input"
)
type OutputClient interface {
- GetWriter(path string, inputMetadata *input.MetadataStruct) (io.WriteCloser, error)
- ReadMetadata(string) (*MetadataStruct, error)
+ GetWriter(path string, inputMetadata *input.MetadataStruct, outputContentType string) (io.WriteCloser, error)
+ ReadMetadata(path string) (*MetadataStruct, error)
IsMissing(path string) bool
}
@@ -21,5 +22,12 @@ type MetadataStruct struct {
ContentType string
FirstCreated time.Time
LastModified time.Time
+ Size int64
Misc map[string]string
}
+
+var NewOutputClientMap = map[string]func(cfg *config.OutputConfig) (OutputClient, error){
+ "b2": NewB2OutputClient,
+ "s3": NewS3OutputClient,
+ "local-unix": NewLocalUnixOutputClient,
+}