Commit 88ec38c
GetAlbum and DownloadAlbum / Files (#9)
* feat: add Native AOT compatibility support
- Enable IsAotCompatible flag in project file
- Add JSON source generation context for AOT scenarios
- Add CatBoxApiErrorResponse model for structured error handling
- Configure ReSharper to enforce ConfigureAwait in library code
- Bump version to 1.1
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: add album file limit enforcement and safe upload
- Add MaxAlbumFiles constant (500) to Common class
- Add CatBoxAlbumFileLimitExceededException for limit violations
- Add Throw.IfAlbumFileLimitExceeds() validation helper
- Add AlbumUploadResult record for capacity-aware upload results
- Add URL parsing extensions (ToCatboxImageName, ToAlbumShortCode)
- Add ToListAsync extension for IAsyncEnumerable
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: add GetAlbum API and download support
- Add RequestType.GetAlbum enum value
- Add GetAlbumRequest and response models (AlbumInfo, GetAlbumApiResponse)
- Add ICatBoxClient.GetAlbumAsync() for retrieving album information
- Add file download support with DownloadFileAsync methods
- Add album download with DownloadAlbumAsync (yields FileInfo per file)
- Add UploadImagesToAlbumSafeAsync for capacity-aware uploads
- Improve retry policy to not retry client errors (4xx)
- Add ConfigureAwait(false) throughout for library best practices
- Replace ToBlockingEnumerable with async/await patterns
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* test: add and update unit tests
- Add tests for album file limit validation (IfAlbumFileLimitExceeds)
- Add tests for URL parsing extensions (ToCatboxImageName, ToAlbumShortCode)
- Update integration tests to use proper async/await patterns
- Improve test coverage for CatBox and Litterbox clients
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* chore: update IDE configuration
- Update VCS settings for branch protection
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Change test file location.
* Add integration tests. Update integration tests to use ToCatBoxImage name helper.
* Convert sample program to include a menu with api actions
---------
Co-authored-by: Claude <noreply@anthropic.com>1 parent 17f093f commit 88ec38c
29 files changed
Lines changed: 1563 additions & 306 deletions
File tree
- .idea/.idea.CatBox.NET/.idea
- assets
- samples/SampleApp
- src/CatBox.NET
- Client
- CatBox
- Litterbox
- Enums
- Exceptions
- Requests/Album
- Modify
- Responses
- Album
- tests/CatBox.Tests
- Helpers
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
File renamed without changes.
0 commit comments