feat: use local blob storage
This commit is contained in:
40
docs/TASKS/platform-scaffold/003-use-local-blob-storage.md
Normal file
40
docs/TASKS/platform-scaffold/003-use-local-blob-storage.md
Normal 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
|
||||
```
|
||||
Reference in New Issue
Block a user