Skip to content

Refactor services#83

Merged
wo80 merged 8 commits into
masterfrom
dev
Oct 12, 2025
Merged

Refactor services#83
wo80 merged 8 commits into
masterfrom
dev

Conversation

@wo80

@wo80 wo80 commented Oct 11, 2025

Copy link
Copy Markdown
Collaborator

This pull request refactors a few aspects of the services and introduces a breaking change to the public API:

  • BREAKING: Consistently return QueryResult<T> instead of specialized types from search and browse requests.
  • Introduce base interfaces for lookup, search and browse requests.
  • Introduce base LookupService class and remove specialized WorkService.
  • Introduce base IEntity interface to mark data classes that support lookup, search or browse.
  • Remove specialized collections namespace Hqub.MusicBrainz.Entities.Collections.

Returning QueryResult<T> from search and browse requests should not affect user code unless the returned collection types were explicitly used, for example

ArtistList result = await client.Artist.SearchAsnyc(...)
//  vs
var result = await client.Artist.SearchAsnyc(...)

Merging this will require a major version update of the library.

wo80 added 5 commits October 11, 2025 10:46
Consistently return QueryResult instead of specialized types from search and browse requests.
Introduce base interfaces for lookup, search and browse requests.
Introduce base LookupService class and remove specialized WorkService.
Introduce base IEntity interface to mark data classes that support lookup, search or browse.
Remove specialized entity collections namespace.
@wo80
wo80 merged commit 40bc318 into master Oct 12, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant