hunterlan / hunterlan/AzStorage
Application: upload, download and delete blob use cases
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
Goal
Implement the core file-transfer operations every storage browser needs.
Why
Upload/download/delete is the minimum viable "does something useful" slice of the app, and progress/cancellation support is something users frequently complain is clunky or missing in Storage Explorer.
Tasks
- Add ports for
UploadBlobAsync,DownloadBlobAsync,DeleteBlobAsync(and container delete) inAzStorage.Application. - Add use cases wrapping these operations, accepting an
IProgress<long>-style callback and aCancellationTokenso a future UI can show progress bars and let users cancel. - Implement in
AzStorage.Infrastructureusing the Azure SDK's built-in transfer/progress APIs. - Add integration tests (Azurite) covering: upload then download round-trip (content matches), delete removes the blob, cancellation actually stops an in-progress transfer.
Acceptance Criteria
- Round-trip upload/download test verifies byte-for-byte content equality.
- Cancelling an upload/download mid-transfer is verified by a test (e.g. using a
CancellationTokenSourcewith a short delay).
Depends on
- Application: list containers & blobs with pagination
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in the AzStorage.Application and AzStorage.Infrastructure projects, then review the Azure SDK transfer and progress APIs. Use Azurite integration tests as the starting point and cover upload/download byte equality, blob deletion, and cancellation during an in-progress transfer. The work is done when the listed ports, use cases, infrastructure implementations, and acceptance tests are complete.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, csharp
- Domain
- backend, cloud, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100