summaryrefslogtreecommitdiff
path: root/internal/storage/storage_interface.go
diff options
from:
to:
context:
space:
mode:
authorGravatar SayaAndy <montferrat@tuta.io> 2025-07-30 20:58:44 +0700
committerGravatar SayaAndy <montferrat@tuta.io> 2025-07-30 20:58:44 +0700
commit924c717ed86c9f6fa23973d8b36cc2b3904ebb4c (patch)
tree03345edbadc6426961b4501568315601d6114e30 /internal/storage/storage_interface.go
parent68d671127bd03c019081599d069810a81f871095 (diff)
downloadarticlator-924c717ed86c9f6fa23973d8b36cc2b3904ebb4c.tar.gz
articlator-924c717ed86c9f6fa23973d8b36cc2b3904ebb4c.zip
feat: basic metadata extractor
Diffstat (limited to 'internal/storage/storage_interface.go')
-rw-r--r--internal/storage/storage_interface.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/internal/storage/storage_interface.go b/internal/storage/storage_interface.go
new file mode 100644
index 0000000..91eeedb
--- /dev/null
+++ b/internal/storage/storage_interface.go
@@ -0,0 +1,19 @@
+package storage
+
+import (
+ "io"
+
+ "github.com/SayaAndy/saya-today-article-metadata-add/config"
+ "github.com/SayaAndy/saya-today-article-metadata-add/internal/frontmatter"
+)
+
+type StorageClient interface {
+ Scan() (paths []string, err error)
+ GetReader(path string) (reader io.ReadCloser, sz int64, err error)
+ WriteMetadata(path string, metadata *frontmatter.Metadata) error
+ FileHasChanged(path string) bool
+}
+
+var NewStorageClientMap = map[string]func(cfg *config.StorageConfig) (StorageClient, error){
+ "b2": NewB2StorageClient,
+}