package input import ( "io" "time" "github.com/SayaAndy/saya-today-thumbnail-generator/config" ) type InputClient interface { Scan() ([]string, 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, }