Files
narratio/internal/app/object_store.go

30 lines
836 B
Go

package app
import (
"context"
"fmt"
"log/slog"
"gitea.maximumdirect.net/eric/narratio/internal/adapters/storage"
"gitea.maximumdirect.net/eric/narratio/internal/config"
)
func newCommandObjectStore(ctx context.Context, cfg *config.Config, logger *slog.Logger) (storage.ObjectStore, error) {
if _, err := loadSecretsFromConfig(cfg, logger); err != nil {
return nil, fmt.Errorf("load secrets from files: %w", err)
}
return initializeObjectStoreBackend(ctx, cfg, newObjectStoreFromConfigFn)
}
func initializeObjectStoreBackend(
ctx context.Context,
cfg *config.Config,
factory func(context.Context, *config.Config) (storage.ObjectStore, error),
) (storage.ObjectStore, error) {
store, err := factory(ctx, cfg)
if err != nil {
return nil, fmt.Errorf("initialize object store backend: %w", err)
}
return store, nil
}