Diffstat (limited to 'internal/client/input/input_client_interface.go')
| -rw-r--r-- | internal/client/input/input_client_interface.go | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/internal/client/input/input_client_interface.go b/internal/client/input/input_client_interface.go index 4bbbae5..dca64db 100644 --- a/internal/client/input/input_client_interface.go +++ b/internal/client/input/input_client_interface.go @@ -2,10 +2,31 @@ package input import ( "io" + "time" + + "github.com/SayaAndy/saya-today-thumbnail-generator/config" ) type InputClient interface { Scan() ([]string, error) - ReadMetadata(string) (map[string]string, error) - GetReader(string) (io.Reader, error) + ReadMetadata(string) (*MetadataStruct, error) + GetReader(string) (io.ReadCloser, error) + ID(path string) string +} + +type MetadataStruct struct { + Name string + StorageType string + Hash string + ContentType string + FirstCreated time.Time + LastModified time.Time + Size int64 + Misc map[string]string +} + +var NewInputClientMap = map[string]func(cfg *config.InputConfig) (InputClient, error){ + "b2": NewB2InputClient, + "s3": NewS3InputClient, + "local-unix": NewLocalUnixInputClient, } |