summaryrefslogtreecommitdiff
path: root/internal/storage/storage_interface.go
blob: 02e0790aa210b67a586a5a5dad07ed2281d2742b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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
	CompareDraftAndProd(path string) (changed bool)
}

var NewStorageClientMap = map[string]func(*config.StorageConfig, *config.DraftModeConfig) (StorageClient, error){
	"b2": NewB2StorageClient,
}