summaryrefslogtreecommitdiff
path: root/internal/storage/storage_interface.go
blob: 92a37e28780c1f81bcb05b428f08081e3ffcfe92 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package storage

import (
	"github.com/SayaAndy/saya-today-article-metadata-add/config"
	"github.com/SayaAndy/saya-today-article-metadata-add/internal/frontmatter"
)

type StorageClient interface {
	Put(key string, content []byte, metadata *frontmatter.Metadata) error
	GetMetadata(key string) (metadata map[string]string, err error)
	BuildIndex() error
}

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