- commit
- c0208b3
- parent
- d51ab87
- author
- Eric Bower
- date
- 2026-03-28 21:28:51 -0400 EDT
chore(storage): cleanup
6 files changed,
+18,
-15
+1,
-1
1@@ -48,7 +48,7 @@ type Cmd struct {
2 User *db.User
3 Session shared.CmdSession
4 Log *slog.Logger
5- Store storage.ObjectStorage
6+ Store storage.StorageServe
7 Dbpool pgsdb.PgsDB
8 Write bool
9 Width int
+1,
-1
1@@ -92,7 +92,7 @@ func toDisplayEntries(entries []os.FileInfo) []dirEntryDisplay {
2 return displayEntries
3 }
4
5-func shouldGenerateListing(st storage.ObjectStorage, bucket storage.Bucket, projectDir string, path string) bool {
6+func shouldGenerateListing(st storage.StorageServe, bucket storage.Bucket, projectDir string, path string) bool {
7 dirPath := projectDir + path
8 if path == "/" {
9 dirPath = projectDir + "/"
+2,
-2
1@@ -43,8 +43,8 @@ type StorageFS struct {
2 Logger *slog.Logger
3 }
4
5-var _ ObjectStorage = &StorageFS{}
6-var _ ObjectStorage = (*StorageFS)(nil)
7+var _ StorageServe = &StorageFS{}
8+var _ StorageServe = (*StorageFS)(nil)
9
10 func NewStorageFS(logger *slog.Logger, dir string) (*StorageFS, error) {
11 return &StorageFS{Logger: logger, Dir: dir}, nil
+1,
-1
1@@ -39,7 +39,7 @@ type FileData struct {
2
3 type Config struct {
4 Logger *slog.Logger
5- Storage ObjectStorage
6+ Storage StorageServe
7 AssetNames AssetNames
8 }
9
+2,
-2
1@@ -19,8 +19,8 @@ type StorageMemory struct {
2 mu sync.RWMutex
3 }
4
5-var _ ObjectStorage = &StorageMemory{}
6-var _ ObjectStorage = (*StorageMemory)(nil)
7+var _ StorageServe = &StorageMemory{}
8+var _ StorageServe = (*StorageMemory)(nil)
9
10 func NewStorageMemory(st map[string]map[string]string) (*StorageMemory, error) {
11 return &StorageMemory{
+11,
-8
1@@ -15,27 +15,30 @@ type Bucket struct {
2 Root string
3 }
4
5-type ObjectStorage interface {
6+type ObjectInfo struct {
7+ Size int64
8+ LastModified time.Time
9+ ETag string
10+ Metadata http.Header
11+}
12+
13+type BucketStorage interface {
14 GetBucket(name string) (Bucket, error)
15 GetBucketQuota(bucket Bucket) (uint64, error)
16 UpsertBucket(name string) (Bucket, error)
17 ListBuckets() ([]string, error)
18 DeleteBucket(bucket Bucket) error
19+}
20
21+type ObjectStorage interface {
22 GetObject(bucket Bucket, fpath string) (utils.ReadAndReaderAtCloser, *ObjectInfo, error)
23 PutObject(bucket Bucket, fpath string, contents io.Reader, entry *utils.FileEntry) (string, int64, error)
24 DeleteObject(bucket Bucket, fpath string) error
25 ListObjects(bucket Bucket, dir string, recursive bool) ([]os.FileInfo, error)
26 }
27
28-type ObjectInfo struct {
29- Size int64
30- LastModified time.Time
31- ETag string
32- Metadata http.Header
33-}
34-
35 type StorageServe interface {
36+ BucketStorage
37 ObjectStorage
38 ServeObject(r *http.Request, bucket Bucket, fpath string, opts *ImgProcessOpts) (io.ReadCloser, *ObjectInfo, error)
39 }