feat: use local blob storage

This commit is contained in:
2026-04-30 01:57:37 -04:00
parent d222e33667
commit b51b8b4185
10 changed files with 242 additions and 156 deletions

View File

@@ -0,0 +1,40 @@
# Task: Use local blob storage
## Feature
`docs/FEATURES/platform-scaffold.md`
## Goal
Store uploaded portraits and logos on the API server filesystem instead of Azure Blob Storage.
## Context
User, client, and workspace portrait uploads already flow through `IBlobStorage`. The implementation can change without altering endpoint contracts or frontend behavior.
## Files Likely To Change
- `backend/src/Socialize.Api/Infrastructure/DependencyInjection.cs`
- `backend/src/Socialize.Api/Infrastructure/BlobStorage/Services/*`
- `backend/src/Socialize.Api/Infrastructure/BlobStorage/Configuration/*`
- `backend/src/Socialize.Api/Program.cs`
- `backend/src/Socialize.Api/appsettings.Development.json`
## Constraints
- Do not change API request or response contracts.
- Keep upload validation behavior consistent with the existing blob storage implementation.
- Serve returned blob URLs from the API host so the existing frontend can keep using `portraitUrl` and `logoUrl`.
## Done When
- [x] `IBlobStorage` resolves to local filesystem storage by default.
- [x] Uploaded files are served back from the API host.
- [x] Backend build passes.
## Validation Commands
```bash
dotnet build backend/Socialize.slnx
dotnet test backend/Socialize.slnx
```