From b597a773f5095f4c8f8d17f3bfa43305141c2e84 Mon Sep 17 00:00:00 2001 From: wo80 Date: Sat, 11 Oct 2025 10:46:02 +0200 Subject: [PATCH 1/8] Refactor services (1) Consistently return QueryResult instead of specialized types from search and browse requests. --- src/Hqub.MusicBrainz.Client/Example6.cs | 4 +- .../ArtistBrowseTests.cs | 4 +- .../ArtistSearchTests.cs | 4 +- .../LabelBrowseTests.cs | 4 +- .../LabelSearchTests.cs | 4 +- .../RecordingBrowseTests.cs | 4 +- .../RecordingSearchTests.cs | 4 +- .../ReleaseBrowseTests.cs | 4 +- .../ReleaseGroupBrowseTests.cs | 4 +- .../ReleaseGroupSearchTests.cs | 4 +- .../ReleaseSearchTests.cs | 4 +- .../Entities/Collections/ArtistList.cs | 42 ++---- .../Entities/Collections/LabelList.cs | 39 ++--- .../Entities/Collections/RecordingList.cs | 36 ++--- .../Entities/Collections/ReleaseGroupList.cs | 39 ++--- .../Entities/Collections/ReleaseList.cs | 37 ++--- src/Hqub.MusicBrainz/QueryResult.cs | 17 ++- .../Services/ArtistService.cs | 22 +-- .../Services/BrowseRequest.cs | 35 ++--- .../Services/IArtistService.cs | 13 +- .../Services/ILabelService.cs | 13 +- .../Services/IRecordingService.cs | 13 +- .../Services/IReleaseGroupService.cs | 15 +- .../Services/IReleaseService.cs | 15 +- src/Hqub.MusicBrainz/Services/LabelService.cs | 22 +-- .../Services/RecordingService.cs | 22 +-- .../Services/ReleaseGroupService.cs | 26 ++-- .../Services/ReleaseService.cs | 26 ++-- .../Services/SearchRequest.cs | 134 +++++++++++++++--- 29 files changed, 307 insertions(+), 303 deletions(-) diff --git a/src/Hqub.MusicBrainz.Client/Example6.cs b/src/Hqub.MusicBrainz.Client/Example6.cs index fdcde91..cbad4cf 100644 --- a/src/Hqub.MusicBrainz.Client/Example6.cs +++ b/src/Hqub.MusicBrainz.Client/Example6.cs @@ -89,7 +89,7 @@ public static async Task Search(MusicBrainzClient client, string genre, int limi } } - private static void DisplayArtists(ArtistList artists) + private static void DisplayArtists(QueryResult artists) { foreach (var a in artists) { @@ -98,7 +98,7 @@ private static void DisplayArtists(ArtistList artists) } } - private static void DisplayReleases(ReleaseGroupList groups, int i, int pages) + private static void DisplayReleases(QueryResult groups, int i, int pages) { Console.WriteLine(); Console.WriteLine("Page {0} of {1}", i, pages); diff --git a/src/Hqub.MusicBrainz.Tests/ArtistBrowseTests.cs b/src/Hqub.MusicBrainz.Tests/ArtistBrowseTests.cs index e7561fb..0d52454 100644 --- a/src/Hqub.MusicBrainz.Tests/ArtistBrowseTests.cs +++ b/src/Hqub.MusicBrainz.Tests/ArtistBrowseTests.cs @@ -1,6 +1,6 @@ namespace Hqub.MusicBrainz.Tests { - using Hqub.MusicBrainz.Entities.Collections; + using Hqub.MusicBrainz.Entities; using NUnit.Framework; using System.Threading.Tasks; @@ -9,7 +9,7 @@ public class ArtistBrowseTests { - private ArtistList data; + private QueryResult data; [OneTimeSetUp] public async Task Init() diff --git a/src/Hqub.MusicBrainz.Tests/ArtistSearchTests.cs b/src/Hqub.MusicBrainz.Tests/ArtistSearchTests.cs index b79c14d..a85cd20 100644 --- a/src/Hqub.MusicBrainz.Tests/ArtistSearchTests.cs +++ b/src/Hqub.MusicBrainz.Tests/ArtistSearchTests.cs @@ -1,6 +1,6 @@ namespace Hqub.MusicBrainz.Tests { - using Hqub.MusicBrainz.Entities.Collections; + using Hqub.MusicBrainz.Entities; using NUnit.Framework; using System.Threading.Tasks; @@ -9,7 +9,7 @@ public class ArtistSearchTests { - private ArtistList data; + private QueryResult data; [OneTimeSetUp] public async Task Init() diff --git a/src/Hqub.MusicBrainz.Tests/LabelBrowseTests.cs b/src/Hqub.MusicBrainz.Tests/LabelBrowseTests.cs index 3a8bec4..31ea34d 100644 --- a/src/Hqub.MusicBrainz.Tests/LabelBrowseTests.cs +++ b/src/Hqub.MusicBrainz.Tests/LabelBrowseTests.cs @@ -1,6 +1,6 @@ namespace Hqub.MusicBrainz.Tests { - using Hqub.MusicBrainz.Entities.Collections; + using Hqub.MusicBrainz.Entities; using NUnit.Framework; using System.Threading.Tasks; @@ -9,7 +9,7 @@ public class LabelBrowseTests { - private LabelList data; + private QueryResult