mirror of
https://github.com/SoPat712/allstarr.git
synced 2026-02-09 23:55:10 -05:00
docs: update README to reflect refactored service architecture
This commit is contained in:
69
README.md
69
README.md
@@ -284,26 +284,68 @@ dotnet test
|
|||||||
octo-fiesta/
|
octo-fiesta/
|
||||||
├── Controllers/
|
├── Controllers/
|
||||||
│ └── SubsonicController.cs # Main API controller
|
│ └── SubsonicController.cs # Main API controller
|
||||||
|
├── Middleware/
|
||||||
|
│ └── GlobalExceptionHandler.cs # Global error handling
|
||||||
├── Models/
|
├── Models/
|
||||||
│ ├── MusicModels.cs # Song, Album, Artist, etc.
|
│ ├── Domain/ # Domain entities
|
||||||
│ ├── SubsonicSettings.cs # Configuration model
|
│ │ ├── Song.cs
|
||||||
│ └── QobuzSettings.cs # Qobuz configuration
|
│ │ ├── Album.cs
|
||||||
|
│ │ └── Artist.cs
|
||||||
|
│ ├── Settings/ # Configuration models
|
||||||
|
│ │ ├── SubsonicSettings.cs
|
||||||
|
│ │ ├── DeezerSettings.cs
|
||||||
|
│ │ └── QobuzSettings.cs
|
||||||
|
│ ├── Download/ # Download-related models
|
||||||
|
│ │ ├── DownloadInfo.cs
|
||||||
|
│ │ └── DownloadStatus.cs
|
||||||
|
│ ├── Search/
|
||||||
|
│ │ └── SearchResult.cs
|
||||||
|
│ └── Subsonic/
|
||||||
|
│ └── ScanStatus.cs
|
||||||
├── Services/
|
├── Services/
|
||||||
│ ├── DeezerDownloadService.cs # Deezer download & decryption
|
│ ├── Common/ # Shared services
|
||||||
│ ├── DeezerMetadataService.cs # Deezer API integration
|
│ │ ├── BaseDownloadService.cs # Template method base class
|
||||||
│ ├── QobuzBundleService.cs # Qobuz App ID/secret extraction
|
│ │ ├── PathHelper.cs # Path utilities
|
||||||
│ ├── QobuzDownloadService.cs # Qobuz download service
|
│ │ ├── Result.cs # Result<T> pattern
|
||||||
│ ├── QobuzMetadataService.cs # Qobuz API integration
|
│ │ └── Error.cs # Error types
|
||||||
|
│ ├── Deezer/ # Deezer provider
|
||||||
|
│ │ ├── DeezerDownloadService.cs
|
||||||
|
│ │ ├── DeezerMetadataService.cs
|
||||||
|
│ │ └── DeezerStartupValidator.cs
|
||||||
|
│ ├── Qobuz/ # Qobuz provider
|
||||||
|
│ │ ├── QobuzDownloadService.cs
|
||||||
|
│ │ ├── QobuzMetadataService.cs
|
||||||
|
│ │ ├── QobuzBundleService.cs
|
||||||
|
│ │ └── QobuzStartupValidator.cs
|
||||||
|
│ ├── Local/ # Local library
|
||||||
|
│ │ ├── ILocalLibraryService.cs
|
||||||
|
│ │ └── LocalLibraryService.cs
|
||||||
|
│ ├── Subsonic/ # Subsonic API logic
|
||||||
|
│ │ ├── SubsonicProxyService.cs # Request proxying
|
||||||
|
│ │ ├── SubsonicModelMapper.cs # Model mapping
|
||||||
|
│ │ ├── SubsonicRequestParser.cs # Request parsing
|
||||||
|
│ │ └── SubsonicResponseBuilder.cs # Response building
|
||||||
|
│ ├── Validation/ # Startup validation
|
||||||
|
│ │ ├── IStartupValidator.cs
|
||||||
|
│ │ ├── BaseStartupValidator.cs
|
||||||
|
│ │ ├── SubsonicStartupValidator.cs
|
||||||
|
│ │ ├── StartupValidationOrchestrator.cs
|
||||||
|
│ │ └── ValidationResult.cs
|
||||||
│ ├── IDownloadService.cs # Download interface
|
│ ├── IDownloadService.cs # Download interface
|
||||||
│ ├── IMusicMetadataService.cs # Metadata interface
|
│ ├── IMusicMetadataService.cs # Metadata interface
|
||||||
│ └── LocalLibraryService.cs # Local file management
|
│ └── StartupValidationService.cs
|
||||||
├── Program.cs # Application entry point
|
├── Program.cs # Application entry point
|
||||||
└── appsettings.json # Configuration
|
└── appsettings.json # Configuration
|
||||||
|
|
||||||
octo-fiesta.Tests/
|
octo-fiesta.Tests/
|
||||||
├── DeezerDownloadServiceTests.cs
|
├── DeezerDownloadServiceTests.cs # Deezer download tests
|
||||||
├── DeezerMetadataServiceTests.cs
|
├── DeezerMetadataServiceTests.cs # Deezer metadata tests
|
||||||
└── LocalLibraryServiceTests.cs
|
├── QobuzDownloadServiceTests.cs # Qobuz download tests (127 tests)
|
||||||
|
├── LocalLibraryServiceTests.cs # Local library tests
|
||||||
|
├── SubsonicModelMapperTests.cs # Model mapping tests
|
||||||
|
├── SubsonicProxyServiceTests.cs # Proxy service tests
|
||||||
|
├── SubsonicRequestParserTests.cs # Request parser tests
|
||||||
|
└── SubsonicResponseBuilderTests.cs # Response builder tests
|
||||||
```
|
```
|
||||||
|
|
||||||
### Dependencies
|
### Dependencies
|
||||||
@@ -311,6 +353,9 @@ octo-fiesta.Tests/
|
|||||||
- **BouncyCastle.Cryptography** - Blowfish decryption for Deezer streams
|
- **BouncyCastle.Cryptography** - Blowfish decryption for Deezer streams
|
||||||
- **TagLibSharp** - ID3 tag and cover art embedding
|
- **TagLibSharp** - ID3 tag and cover art embedding
|
||||||
- **Swashbuckle.AspNetCore** - Swagger/OpenAPI documentation
|
- **Swashbuckle.AspNetCore** - Swagger/OpenAPI documentation
|
||||||
|
- **xUnit** - Unit testing framework
|
||||||
|
- **Moq** - Mocking library for tests
|
||||||
|
- **FluentAssertions** - Fluent assertion library for tests
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user