refactor(storage): extract StorageProvider interface and R2Provider
Introduces a StorageProvider interface, an R2Provider class wrapping the existing R2/S3 logic, and a createProvider() factory that selects based on env vars. The four public functions (uploadFile, downloadFile, deleteFile, getSignedUrl) delegate to a singleton. Zero behaviour change for existing R2 deployments. Makes it straightforward for self-hosters to add other providers (GCS, S3, local filesystem, Azure Blob) without touching call sites.
| Repository | Altien/mikeOssAzure |
|---|---|
| Author | Allen Morgan <amorgan@altien.com> |
| Authored | |
| Parents | d9690965 |
| Stats | 1 file changed , +175 , -112 |
| Part of | Storage provider abstraction + Azure Blob |
Capture this commit into my fork
Download a Markdown prompt that tells Claude how to port this
exact commit into your working tree. Run it via
claude -p < capture-commit-45310480.md
from inside the repo you want the change in.